Assigning a value to a vector in a for loop
显示 更早的评论
I'm trying to assign individual times to a vector 'toa' in a loop using:
for jj = 1:nvar
ktau = jj * tau0;
toa(jj) = jj * tau0;
{buncha calcs}
end
I use ktau in following equations, and I want to keep a vector of all the times used.
When I try to run the function I get: In an assignment A(I) = B, the number of elements in B and I must be the same.
Error in alvarQ (line 115) toa(jj) = jj.*tau0; % this was time calc above
Why is that? Shouldn't that work?
Thanks, Kim
回答(3 个)
Image Analyst
2014-9-14
0 个投票
Evidently tau0 is a vector, not a scalar, so the product of jj*tau0 is also a vector. You can't stuff a vector of multiple elements into a single element of toa. Maybe you meant tau0(jj)???? What does "whos ktau" show?
Star Strider
2014-9-14
0 个投票
Is ‘tau0’ a vector or a scalar?
Otherwise, your ‘{buncha calcs}’ could be the problem. Are you doing anything to ‘toa’ or ‘tau0’ in them?
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!