10/19/2006

PROBLEM #4.3

氣體在特定容器下,其壓力、體積與溫度間之關係如下:

P=nRT/V

這是波義耳的氣體公式,但萬得爾(van der Vaals)公式則加入分子間之引力因素。其關係如下:

P=nRT/(V-nb)-an²/V²

其中,a,b分別為氣體之特定常數。理想氣體在n=1摩爾數下,溫度在0C(273.2K)下,氣壓為一大氣壓時,具有體積為22.4公升,其R值為0.0826。對於氯氣而言,上述之a,b值分別為a=6.49,b=0.0562。試就上兩公式計算其壓力差。

2 則留言:

Ching 吳子青 提到...

Matlab之工程應用 PROBLEM #4.3
data : 10/24/2006
student : 吳子青 R95622024

-----------------------------------
** Question 4.3 **

題旨:
波以耳的氣體公式為描述理想氣體的方程式,而van der Vaals Equation 為描述真實氣體,在本題裡考慮在相同條件下,真實氣體和理想氣體的壓力差。

分析與程式流程:
Step1:
題目為比較兩種氣體方程式所以為了方便起見,將兩種氣體方程式分別寫成Sub function為P_ideal 和 P_real

Step2:
第一種氣體按敘述為ideal gas 將n=1 (mole),T=273.2 (K),v=22.4 (L)代入P_ideal 驗證得p_ideal =1 atm 則果然為理想氣體

Step3: 將同樣的條件n=1 (mole),T=273.2 (K),v=22.4 (L)代入P_real,氣體為 ,且a=6.49,b=0.0562 可求得P_real。

Step4: 壓力差=P_real-P_ideal

程式內容:
/P_ideal.m/
function output=P_ideal(n,T,V)
R=0.0826;
output=n*R*T/V;

/P_real.m/
function output=P_real(n,T,V,a,b)
R=0.0826;
a=6.49;b=0.0562;
output=n*R*T/(V-n*b)-a*n^2/V^2;

/command windows/
>> clear;
>> gas=[1 273.2 22.4];
>> P_real(gas(1),gas(2),gas(3))-P_ideal(gas(1),gas(2),gas(3))

ans =

-0.0104

執行結果:
真實氣體和理想氣體的壓力差為 -0.0104 atm

討論:
利用M-files 可以寫成指令列或是子程式( Sub function) 對於複雜的
程式是很有用的寫法

ShuRuLin 提到...

我的寫法和上一位同學有點不同
我是直接將程式以一個敘述檔寫出
並且在程式中直接加上兩壓力差大小的判斷

程式指令
% Q4_3.m
% 分別以波以耳氣體公式與萬得爾公式計算一莫耳的理想氣體和氯氣的壓力差
% P=nRT/V 波以耳氣體公式 P=nRT/(V-nb)-an^2/V^2 萬得爾公式
% n=1,R=0.0826,T=273.2,V=22.4,a=6.49,b=0.0562
P1=1*0.0826*273.2/22.4;
P2=1*0.0826*273.2/(22.4-1*0.0562)-6.49*1^2/22.4^2;
P=P1-P2;
absp=abs(P);
if P>0
fprintf('波以耳公式算出之理想氣體壓力值較萬得爾公式算出之氯氣壓力值大 %0.4f\n',absp)
elseif P<0
fprintf('波以耳公式算出之理想氣體壓力值較萬得爾公式算出之氯氣壓力值小 %0.4f\n',absp)
else
fprintf('波以耳公式算出之理想氣體壓力值與萬得爾公式算出之氯氣壓力壓力值相等\n')
end

執行結果
>> Q4_3
波以耳公式算出之理想氣體壓力值較萬得爾公式算出之氯氣壓力值大 0.0104