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!