Looping with two vectors ?
显示 更早的评论
How can i use a for loop with two vectors ? I keep getting the message "Subscript indices must either be real positive integers or logicals." when trying to run the code. Here it is:
x = [3 3.9 5.1 6.7 10];
y = [0 3 5.5 7.4 9];
xq = 0:0.001:10;
yq = interp1(x,y,xq,'spline');
for ii = xq(3002:10001), yq(3002:10001);
V = (pi*yq(ii))/3 * (xq(ii)^2 + xq(ii)*3 + 9);
display(V);
end
xq and yq are my vectors.
回答(2 个)
James Tursa
2016-10-25
编辑:James Tursa
2016-10-25
It is unclear why you have a loop at all, but maybe this is what you want?
for ii = 3002:10001
Or maybe you just need to form V in a vectorized fashion without a loop?
V = (pi*yq)/3 .* (xq.^2 + xq*3 + 9);
3 个评论
Frederico Borges
2016-10-26
James Tursa
2016-10-26
What would you be plotting? I.e., what is along the x-axis and what is along the y-axis?
Frederico Borges
2016-10-26
编辑:James Tursa
2016-10-26
VBBV
2022-11-8
V = (pi*yq(3002:10001)/3 .* (xq(3002:10001).^2 + xq(3002:10001)*3 + 9);
May be you can just vectorize the equation with given range as above. Or you could also use for loop as below
for ii = 3002:10001
V(ii) = (pi*yq(ii))/3 * (xq(ii)^2 + xq(ii)*3 + 9);
display(V);
end
类别
在 帮助中心 和 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!