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

1 view (last 30 days)
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

Accepted Answer

per isakson
per isakson on 7 Dec 2020
Edited: per isakson on 7 Dec 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

More Answers (1)

David Hill
David Hill on 7 Dec 2020
Edited: David Hill on 7 Dec 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);

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!