# Error assigning variable in loop

1 view (last 30 days)
mashtine on 13 Nov 2014
Commented: mashtine on 13 Nov 2014
It is beyond me why I cannot figure this out. The debugger points to the line 'wsstd(i,1) = fricvelo.*4;' but I think it has to do with my if statement as even when the condition is failed, a calculation is still done. L(1,1) for instance is -0.393. I am sure my tired eyes just can't find the simple problem.
wsstd = zeros(length(ws),1);
for i = 1:11950;
if L(i,1) >= -500 && L(i,1) <= -50
wsstd(i,1) = fricvelo.*4;
else
wsstd(i,1) = 0;
end
end
##### 2 CommentsShow 1 older commentHide 1 older comment
mashtine on 13 Nov 2014
Hi Rick,
Here is the message:
Subscripted assignment dimension mismatch.
Error in ERA_Suomi_parametrization (line 43)
wsstd(i,1) =
43 wsstd(i,1) = fricvelo.*4
size(fricvelo) is (39928,1) where the #rows is the same as the length(ws)

Orion on 13 Nov 2014
You're trying to insert a 39928x1 vector in only one element of wsstd.
size(wsstd(i,1)) == 1 for any i.
So you have a dimension problem.
you can only put a scalar in wsstd(i,1).
You need to change something (like fricvelo(i) ?...)
mashtine on 13 Nov 2014
Wow! How did I not see such an obvious answer! Sorry for waste of time Orion. Thanks