Iteration of Ideal Gas Law

22 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2021-3-3
Please note that I am not a category of knowledge, and so should not be named in a tag.

请先登录,再进行评论。

采纳的回答

Cris LaPierre
Cris LaPierre 2021-3-3
编辑:Cris LaPierre 2021-5-13
Iterations can be done using either for loops or while loops.
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
Ln = 4
Ln = 3
Ln = 2
Ln = 1
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 个评论
Cris LaPierre
Cris LaPierre 2021-3-3
编辑:Cris LaPierre 2021-3-3
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by