Issue with creating a plot from two for loops

1 view (last 30 days)
Hi,
I have an issue with creating a plot in the same figure from two for loops.
This is my code which is quite simple but I am still unable to find the issue.
a=1.63279*10^-6;
b=264.9889;
for T=373:10:1273;
Mu = (a*T.^0.5)/(1+b./T)
plot(T, Mu)
end
n = 0.666;
T0 = 273;
Mu0 = 1.375*10^-5;
for T=373:10:1273;
MuT = Mu0.*(T./T0).^n
end
  1 Comment
Umar Naseef
Umar Naseef on 2 Jan 2021
I should be creating 2 different graphs in the same plot from the same T values and the Mu and MuT values.

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 2 Jan 2021
Neither of the loops are necessary. Use element-wise operations (here, exponentiation (.^ instead of ^) and division (./ instead of /)) to create the plots:
a=1.63279*10^-6;
b=264.9889;
T=373:10:1273;
Mu = (a*T.^0.5)./(1+b./T);
figure
plot(T, Mu)
grid
n = 0.666;
T0 = 273;
Mu0 = 1.375*10^-5;
T=373:10:1273;
MuT = Mu0.*(T./T0).^n;
figure
plot(T, MuT)
grid
See the documentation on Array vs. Matrix Operations for a full explanation.
.

More Answers (1)

David Hill
David Hill on 2 Jan 2021
a=1.63279*10^-6;
b=264.9889;
T=373:10:1273;
Mu = (a*T.^0.5)./(1+b./T);
n = 0.666;
T0 = 273;
Mu0 = 1.375*10^-5;
MuT = Mu0.*(T./T0).^n;
plot(T, Mu,T,MuT);

Community Treasure Hunt

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

Start Hunting!