MATLAB: For loop dismension mismatch

for loopMATLABmismatch

i am trying to create a variable w < 24×1 double > so I can plot it against daily hours.
idx = find(lat< 34 & lat > 33 & lon < -117 & lon > -119);
w=zeros(24,1000);
for i = 1:24
tmp=w10(i,:,:);
w(i,:)=tmp(idx);
end
w(w==0)=NaN;
wmean=nanmean(w,2)
but matlab gives me an error message saying dimension mismatch and I can't understand why. I also tried to create a matrix w=zeros(24,207).
my w10 is < 24x207x129 double>
I am trying to pull out wind data at specific coordination (defined by idx). Is there any other way to plot hr < 24×1 > against w < 24×1 > at the specific coordinates I gave?

Best Answer

Something like this, perhaps
w=zeros(24,length(idx));
for i = 1:24
tmp=w10(i,:,:);
w(i,:)=tmp(idx);
end