Loop insider a loop Plot, Please Help

I need to plot a t vs. s diagram. The function is: s = (sigma - 3 + 0.072 * t * (1 + 0.072 * t)) / 0.77. I'm dying to know why the loop inside loop does not give me the correct plot. Thank you so much.
INCORRECT:
clear all;
Sigma = 0:5:30;
T = 0:1:30;
for sigma = 1:length(Sigma);
for t = 1:length(T);
s(sigma,t) = (sigma-3+0.072*t*(1+0.072*t))/0.77;
end;
end;
plot(s,T)
CORRECT:
clear all;
Sigma = 5:5:30;
T = 0:1:30;
for t = 1:length(T);
s(Sigma,t) = (Sigma-3+0.072*t*(1+0.072*t))/0.77;
end;
plot(s,T);
Thank you.*

 Accepted Answer

In your first version, you have
for sigma = 1 : length(Sigma)
which makes sigma 1, 2, 3, ... up to the number of values in Sigma.
In your second version, you use Sigma in your calculation, which uses the contents of Sigma rather than the numbers up to the length of Sigma.
Fix:
s(sigma,t) = (Sigma(sigma)-3+0.072*t*(1+0.072*t))/0.77;

More Answers (1)

clear
Sigma = 5:5:30;
n=numel(Sigma)
t = linspace(0,30,n);
s=zeros(1,n);
for k = 1:n;
s(k) = (Sigma(k)-3+0.072*t(k)*(1+0.072*t(k)))/0.77;
end;
plot(t,s);

Categories

Find more on Graphics Objects in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!