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);

Categories

Find more on Resizing and Reshaping Matrices 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!