Looping with two vectors ?
Mostra commenti meno recenti
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.
Risposte (2)
James Tursa
il 25 Ott 2016
Modificato: James Tursa
il 25 Ott 2016
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 Commenti
Frederico Borges
il 26 Ott 2016
James Tursa
il 26 Ott 2016
What would you be plotting? I.e., what is along the x-axis and what is along the y-axis?
Frederico Borges
il 26 Ott 2016
Modificato: James Tursa
il 26 Ott 2016
VBBV
il 8 Nov 2022
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
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!