how, using a for loop, can I create an array

1 vue (au cours des 30 derniers jours)
George Amor
George Amor le 7 Déc 2020
Commenté : George Amor le 7 Déc 2020
I am trying to create an array for V and A that can then be plotted.
for a = [.25:.25:4] %innder radius
b = a+2 ;%outer radius
V = (.25*pi^2).*(a+b)*(b-a).^2 %equation for Volume
A = pi^2*(b^2-a.^2) %equation for Area
end
plot(V,A) %plot Volume vs. Area
with the current code, when I run the script, V and A only have one value which is equal to using a = 4
but I want every value to be saved, not just the last value for V and A

Réponse acceptée

per isakson
per isakson le 7 Déc 2020
Modifié(e) : per isakson le 7 Déc 2020
how using a for loop
V and A are overwritten for every iteration of the loop. Try this
vec = [.25:.25:4];
len = length( vec );
A = nan( len, 1 );
V = nan( len, 1 );
for jj = 1 : len
a = vec(jj);
V(jj) = (.25*pi^2).*(a+b)*(b-a).^2 %equation for Volume
A(jj) = pi^2*(b^2-a.^2) %equation for Area
end
plot(V,A) %plot Volume vs. Area

Plus de réponses (1)

David Hill
David Hill le 7 Déc 2020
Modifié(e) : David Hill le 7 Déc 2020
No loop needed.
a=.25:.25:4;
b=a+2;
V=(.25*pi^2).*(a+b).*(b-a).^2;
A=pi^2*(b.^2-a.^2);
plot(V,A);
  1 commentaire
George Amor
George Amor le 7 Déc 2020
This is much simpler than a for loop, thank you

Connectez-vous pour commenter.

Produits


Version

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by