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.*

 Risposta accettata

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;

Più risposte (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);

Categorie

Scopri di più su Graphics Objects in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by