Iteration of Ideal Gas Law
12 views (last 30 days)
Show older comments
Hi,
How can I do the iteration for the follwoing Ideal Gas Law? I would like to use the Vn and get the Pn value and compare the Ln value to the L. When Ln and L are very close, it will stop the iteration. I would really appreciate your help.
P=101325;
R=8.314;
r=20*10^-6;
L=117*10^-6;
V=pi*r^2*L;
T=300;
n=(P*V)/(R*T);
% Iteration should start from here
Tn=300+273;
Pn=(n/V)*R*Tn;
stress=Pn;
E=69.22*10^9;
S=stress/E;
dL=S*L;
Ln=L+dL;
Vn=pi*r^2*Ln;
1 Comment
Walter Roberson
on 3 Mar 2021
Please note that I am not a category of knowledge, and so should not be named in a tag.
Accepted Answer
Cris LaPierre
on 3 Mar 2021
Edited: Cris LaPierre
on 13 May 2021
If you want to repeat until a condition is met, a while loop is probably the best option. You just need to set up a conditional statement that evaluates as false until your statement is true. For example
L=1;
Ln=5;
while abs(Ln-L)>0.1
Ln=Ln-1
end
There is one thing to be careful of. It is possible to create what is called an infinite loop. This occurs when your contidional statement is always false.
5 Comments
Cris LaPierre
on 3 Mar 2021
Edited: Cris LaPierre
on 3 Mar 2021
I haven't given you the whole solution. In the code you shared originally, you calculate Ln right before you use it.
Ln=L+dL;
Vn=pi*r^2*Ln;
If you need to use the current value of Ln as L in the next loop, then yes, you should set Ln=L before the loop, and update all uses of L inside the loop to be Ln.
If you don't understand how loops work, I suggest looking at Ch 13 of MATLAB Onramp. It covers for loops, not while loops, but the underlying principles are the same.
More Answers (0)
See Also
Categories
Find more on Oil, Gas & Petrochemical 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!