化工热力学逸度计算_Matlab程序
MATLAB在化工中的应用

硕士研究生课程论文课程名称:MATLAB及其应用题目:MATLAB在热物理学中的应用题目类型:课程论文学院:专业名称:姓名:学号:任课教师:提交时间:2021 年11 月21 日MATLAB在热物理学中的应用摘要:本文阐述了基于MATLAB的数值计算、可视化图形处理、开放式以及可扩大体系构造的特点,并介绍了高性能语言MATLAB 在大学物理热物理学中的一些应用,包括在麦克斯韦速率分布和化工热力学中的应用。
MATLAB在化工中的应用给了我们很大的方便,特别是在计算和绘制图形方面,让我们对数据有更加直观的印象,更有利于我们对数据的处理。
关键词:MATLAB;麦克斯韦速率分布;热力学Application of MATLAB in thermal physicsAbstract:Based on MATLAB’s features of numerical calculation, visualization of graphics processing,opening and scalable architecture,introduced the applications of language of Matlab with high-performance in thermal physics of university physics,include in the Maxwell speed distributionand the chemical industry thermodynamics.MATLAB application in chemical industry gave us great convenience, especially in terms of calculation and drawing graphics, let's have a more intuitive impression on the data, is more advantageous to us for data processing.Key Words: MATLAB; Maxwell speed distribution; thermodynamic引言热物理学是化工研究的一个方向, 由于热物理学处理比拟复杂,恰当地使用可视化以展现数学公式的物理图像, 使其变得直观、形象。
化工热力学Ⅱ(高等化工热力学)——第四章 混合物的逸度.

4.1逸度及逸度系数 定义 dμi= d Gi =RTdlnfi
(1-49)
lim fi
p0
yiP
=1
逸度系数: i fi / yiP
(1-50)
4.1.1 以P.T为独立变量
由定义,有dGi =RTdlnf=i RTln(ipyi) =RT(dln i+dlnP) (恒温恒组成) (1)
由热力学函数:dGi=-Sdi T+Vi dP= VidP
(恒T)
(2)
由式(1) (2) 联立,得 d lnˆi
积分得:lnˆi
p 0
(
Zi
-1)
dP P
Vi dP d ln P RT
(恒温恒组成)
(4-1)
或
ln ˆi =
1 RT
p
0
(Vi-RPT)dP
4.1.2 以 V, T为独立变量
ˆi= 2
lnˆi= Vm0p
k
y j1
(Z-1)
jB
dP P
j-lnZ (4-6) (4-1)
式中:Z=PVm/RT=1+B’P=1+BP/RT
Z= i
(nZ) n
i
T,P,n
j
=
(n+nBP/RT) n
i
T,P,n
j
=1+
P RT
=y1B11+y2B22+y1y2(2B12-B11-B22)
=y1B11+y2B22+y1y2δ12 式中δ12=2B12-B11-B22
nB=n1B11+n2B22+(n1n2/n)δ12 上式对n1求偏导,得:
matlab在处理化工热力学数据中的应用

matlab在处理化工热力学数据中的应用在化工领域中,热力学数据的处理和分析对于工程师和研究人员来说是非常重要的。
这些数据包含了物质的热性质,如热容、热导率和热膨胀系数等,以及热力学过程中的能量转化和热平衡等关键信息。
为了更好地理解和应用这些数据,化工工程师和研究人员经常需要使用计算工具来处理和分析热力学数据。
其中,MATLAB作为一种强大的计算工具,在化工热力学数据的处理中具有广泛的应用。
MATLAB提供了丰富的数学函数和算法,使得化工热力学数据的处理和分析变得更加便捷和高效。
例如,在处理热容数据时,可以使用MATLAB的插值函数来拟合实验数据,从而得到更加准确的热容曲线。
在处理热导率数据时,可以使用MATLAB的曲线拟合函数来拟合实验数据,并通过计算斜率来得到热导率值。
这些数学函数和算法的应用,可以帮助化工工程师和研究人员更好地理解和分析热力学数据,为工程设计和科学研究提供支持。
MATLAB还提供了强大的数据可视化功能,可以将化工热力学数据以直观的图形形式展示出来。
通过绘制温度-热容曲线、温度-热导率曲线等图形,可以更清晰地观察和分析热力学数据的规律和特点。
此外,MATLAB还支持多种图形输出格式,如图片和矢量图,方便用户将数据图形化结果导出保存,以备后续分析和报告使用。
除了数学函数和数据可视化功能外,MATLAB还具有强大的数值计算能力,可以进行复杂的热力学计算和模拟。
例如,在热力学过程的能量平衡计算中,可以使用MATLAB的矩阵运算和方程求解函数,快速得到热力学系统的能量平衡方程解。
此外,MATLAB还支持多种数值积分和微分方法,可以用于求解热力学系统的微分方程和积分方程,从而得到更加准确的热力学参数和性质。
除了以上提到的功能,MATLAB还具有强大的编程能力,可以根据具体需求进行定制化的热力学数据处理和分析。
例如,可以编写MATLAB脚本来自动化处理大量的热力学数据,提高工作效率。
还可以编写MATLAB函数来实现特定的热力学计算方法,满足不同的研究和工程需求。
化工热力学-逸度

逸度系数的定义
i
fi p
理想气体: i 1 真实气体: i 1
3.3.2纯组分气体的逸度与逸度系数
1、状态方程法
2、普遍化方法
①第二维利系数法(Vr≥2) ②普遍化系度系数图表法(Vr≤2)
1、状态方程法
dGi RTd ln fi (T恒定) dGi Vi dp (T恒定)
RT d ln fi Vidp
参考态:P 0,逸度 fi* ,压力 P* ,并且 fi* P* 。
f
P
fi* RT d ln fi P* VidP
RT ln
fi fi*
P
P* VidP
RT ln
fi fi*
P
P* VidP
R-K方程
P
RT V b
T
a 0.5V (V
b)
dP
RT (V b)2
dV
T
a(2V b) 0.5V 2(V b)2
3.3.3纯液体的逸度计算
(1)饱和液体的逸度
dGi RT d ln fi (T恒定)
dG RT d ln f GiLS
fi LS
GiV S
i
fiVS
i
fi LS fiVS
(2)非饱和液体的逸度计算
dGi RT d ln fi ViLdP
d ln f fiL
p
fi LS
i
ps
理想气体
dGi RT d ln p
p 0 真实气体→理想气体 RTd ln fi RTd ln p
fi cp (c为常数)
逸度的定义
dGi RTd ln fi (T恒定)
lim fi 1 p0 p
限制条件
Matlab与化工数值计算-第1讲 简介与基本数学运算

Superpro Designer
Fluent CHEMKIN
本课程的学习目的
学会Matlab的使用,可以利 用Matlab求解较为复杂的化 工数学模型 Matlab 对于数值分析 的内容不过多 涉及,只注意 数值计算结果 的准确性 化工专业知识 作为背景,不 涉及模型的推 导,注重模型 求解过程的方 法与技巧
>> 2000^1.8*(10^(-10.2158+1.7925e3/283+1.773e-2*2831.2631e- 5*283^2))^0.2/(20000*0.5^4.8*(0.3471*0.274^(-(1283/647.13)^0.28574))/0.2323) 回车可以得到结果 ans = 287.8245
短格式科学格式
长格式 长格式科学格式 有理格式 十六进制格式 银行格式
程序的组成
变量 数据输入
键盘输入 文件输入
变量 运算
数学运算 关系运算 逻辑运算
数据输出
屏幕输出 文件输出 图形输出
流程控制
变量
• 变量的命名方式:
– 变量名由字母、数字和下划线组成;
– 变量名中的英文字母大小写是有区别的;
– 变量名的最大长度是有规定的
0.01
基本数学运算符的使用
计算以下表达式的值: 1) [1 2 3]*[3 2 1] 2) [1 2 3].*[3 2 1] 3) [1 2 3]^2 4) [1 2 3].^2 5) 1+3*2^2 6) (3*2)^2 7) (3*2)^2; 8) (-8)^(1/3)
Matlab的计算器功能
u 2 2u2 0.170 2 F (u1 u 2 ) t x
化工热力学82.2 逸度和逸度系数

fˆi Pxi
c.混合物的逸度f
dG RTd ln f lim f 1 P0 P
f
P
温度对逸度的影响
1)纯组分
对两边从理气
dGi RTd ln fi (T一定) 到实气积分
ln
fi P
R1T(Gi
Gi*)
1 [Hi R
H
* i
T
(Si
Si*)]
R ln
fi
R ln P
2.2 逸度与逸度系数
主讲教师:吕京宁
想飞的气球
里面的人想出来, 外面的人想进去, 这就是围城。
《饮湖上初晴后雨》 (苏轼)
欲把西湖比西子,浓妆淡抹总相宜。
逸度
• 物质在任何状态下都有逃逸该状态 的趋势,表征物质逃逸趋势的热力 学性质,就是逸度。
真实气体的状态方程
EOS 理想气体
vdW RK
PR
[ Hi
H
* i
T
(Si
Si*)]
具体推导 见P.77
(
ln fi T
)P
[
H
* i
Hi
RT 2
]
H
R i
RT 2
H
R i
剩余焓
2)混合物组分i
同
样有
(
ln T
fˆi
)P
[
H
* i
Hi
RT 2
]
溶液 γi(活度系数)
化学热力学的 方法
建立模型
5
三种逸度和逸度系数的比较(等温下)
a.纯组分逸度fi
【doc】用Matlab求解化工原理计算问题的教学初探

用Matlab求解化工原理计算问题的教学初探第23卷第6期大学化学2008年12月用Matlab求解化工原理计算问题的教学初探唐正姣王存文孙炜欧阳贻德(武汉工程大学化工与制药学院湖北武汉430073)摘要以管路计算中的设计型问题和精馏过程计算中的操作型问题为例,分析了求解问题的思路,列出了详尽的Matlab计算源程序.计算过程及结果表明,利用Matlab求解化工原理计算问题具有数值稳定性好,使用方便,高效,快速等特点.化工原理的计算通常涉及2种类型:一类是设计型计算,即根据规定的生产任务设计出经济合理的设备或管路;另一类为操作型计算,指对某个过程或设备在一定条件下能够完成的任务进行计算或核定某个参数的指标.二者均为化工单元操作原理及其规律的具体应用,让学生进行设计型与操作型计算的训练是提高学生实际综合应用能力和水平的有效措施.化工原理的计算问题通常以工程实际问题为背景,求解过程经常涉及非线性方程(组),插值,曲线拟合,数值积分,图解等工程计算方法,往往要进行多次试差计算才能得到结果.学生在平时学习和做作业时遇到的主要困难是试差计算.教师的讲解只能够让学生理解用试差法求解问题的思路.试差计算必然遇到两个问题,即(1)如何设置变量的初值;(2)当第一次所设变量初值不能满足计算精度要求时如何重设变量值.这是学生最初应用试差法的两道障碍.笔者在上课时也给学生讲解用牛顿迭代法求解非线性方程的根,但学生较难掌握具体算法.因此,对于本科生而言,若有一种计算软件,只需弄清待求问题的求解思路,便能获得问题的解,将有助于提高解题效率.Matlab是目前流行的一种科学计算软件.Matlab语言是一种广泛应用于工程计算和数值分析领域的新型高级语言,它拥有大量的命令集和可用函数集,集数值计算功能,符号运算功能和图形处理功能于一身,形式简便,易于掌握J.使用Matlab编程与人进行科学计算的思路和表达方式相似.笔者在化工原理教学过程中,对应用Matlab软件求解化工原理计算问题进行了探索.现以管路计算中的设计型问题和精馏过程计算中的操作型问题为例进行介绍.1Matlab知识简介】Matlab程序的基本构成:(1)程序的定义.其作法是在程序首行用function定义,如func.tionflowrate.(2)主程序,它一般包括数据输入(已知参数),计算过程和结果输出(数值和图形结果),且计算过程往往要调用外部函数或/和自定义的内部函数.主程序代码紧接程序定义名后.(3)程序的内部函数.它是在程序中定义的函数,只供该程序调用.一般把定义这些内部函数的代码置于主程序之后.Matlab为单变量非线性方程和非线性方程组的求解分别提供了fzero函数和fsolve函数.37fzero函数结合使用二分法,割线法和可逆二次内插法进行求解,fsolve函数的算法为最小二乘法.因此Matlab的算法可靠,运行稳定.fzero函数的使用方法如下:调用格式:=fzero(@fun,n)输人参数:fun为用户定义的目标函数的函数名,定义单变量非线性方程f()=0中的.厂();为迭代初值.输出参数:为方程的根.fsolve函数的使用方法如下:调用格式::fsolve(@fun,‰)输人参数:fun为用户定义的目标函数的函数名,定义非线性方程组f()=0中的f(z), 该函数返回一个列向量;.为迭代初值向量.输出参数:为方程组的根向量.所以,当采用Matlab求解非线性方程(组)时,学生并不需要编制只有具备数值分析知识才能理解的算法程序,而只需要定义待求的非线性方程(组).对于变量的初值,由于Matlab的算法稳定,对初值的要求比较宽松.2计算实例算例1l2]:管路计算.已知一自来水总管内水压为2×10Pa(表压),现需从总管引出一支管,将自来水以3m./h的流量送至lO00m远的用户(常压),管路上有90.标准弯头l0个,球心阀(半开)2个.试计算该支管的直径.已知水温20℃,由于输送距离较长,位差可忽略不计.解:从支管引出处(上游1截面)至用户(下游2截面)之间列机械能守恒方程为:==(A寺+∑)争2(1)其中4=(2)将式(2)代入式(1)得:=(Al+∑)(3)摩擦系数A的计算式为:=1.74-21g(2号+18.7(4)其中::,-ff(5)式(1)~(5)中,d为管内径,z为管长,q为流量,P,P:分别为支管引出处,用户处的压强,u为流体的流速,为管子的粗糙度,为局部阻力系数,A为摩擦系数,为流体的粘度,P为流体的的密度.据已知条件:P:2×10Pa(表压),P.=0(表压),q:3m/h,z=lO00m.查文献[2],P:lO00kg/m,=1.005×10~Pa?So90.标准弯头10个:=0.75x10:7.5,球38心阀(半开)2个:=9.5×2=19;i~∑=.+=26.5.为确定适宜的管径,必须先选定管子的粗糙度,然后联立求解由式(3),(4)组成的非线性方程组,求出管径d与摩擦系数A,最后核算流速是否在经济流速范围内.利用Matlab提供的fsolve函数求解,非线性方程组)=0中的)定义如下:,d)=一(A寺+∑),2(A'd)=174+2fg(2音+)待求变量为A和d.Matlab程序(flowrate.m)清单如下:functionflowrate%程序定义已知流量,求适宜的管径clearall;clc%主程序开始globallengthroughplp2densiviscoqvlength=1000;%管子的长度与粗糙度pl=2e5;p2=0;%总管与用户处水压visco=1.005e一3;densi=1000;%水的粘度与密度qv:3/3600;%水的流量rough=input(管子的粗糙度(mm)=);rough=rough1e一3:x0:[0.03,0.05];x=fsolve(@NonlinEqs,x0);lamda=x(1);%摩擦系数计算值d=x(2);%管径计算值U=4qv/(3.14159d'2);fprinff(\nlamda=%.4f\td=%.ifmmu=%.2fm/s\n,lamda,d1000,u)%主程序结束functionf=NonlinEqs(x)%自定义的内部函数globallengthroughplp2densiviscoqvpai=3.14159:lamda=x(1);d=x(2);U=4qv/(pai:Icd'2);sumc=26.5:f(1)=(pl—p2)/densi一(1amdalength/d+sumc):I=u~2/2;%机械能守恒式Re=4densiqv/(paid%visco);f(2)=lamda(一0.5)一1.74+2logl0(2rough/d+18.7/Re/sqrt(1amda));%摩擦系数计算式从上述程序清单可见,程序的可读性强,编程量小,几乎是计算思路的直接演绎.根据文献[2],水煤气用新钢管的粗糙度为0.1—0.3mm,水在管内的适宜流速范围为0.5~3In?s~.表1列出了选用不同粗糙度的管材时的计算结果.可见,程序运行结果可靠.39表1不同粗糙度管材的适宜管径算例2]:计算回流比变化时的产品组成及塔板组成分布.某精馏塔有1O块理论板,用于分离苯.甲苯溶液,原料中苯的组成=0.25(摩尔分数,下同),于第8板(自塔顶开始计数)加料,物系的相对挥发度=2.47.已知回流比R:5,泡点进料时馏出液产品组成=0.98,釜液产品组成:0.085.若将回流比改为8,塔顶采出率D/F及进料热状况均不变,求塔顶,塔底的产品组成.,w及塔内各板的气液相组成. 解:原工况(R=5)时,据全塔物料衡算,有:::0.1844,D一w新工况(R=8)时,据全塔物料衡算,有::(6)^1,一D/F精馏段操作线方程为:RDy提馏段操作线方程为:R+F,DF/D一,n~w(7)(8)相平衡方程为:=—一(9)一d一(一1)Y,计算方法是以w为试差变量,利用式(6)~(9)求出.及塔板上两相组成分布(见图1),式(6)~(9)中,,Y分别指液相与气相中轻组分的摩尔分数,下标n或(n十1)为塔板序号,塔板自塔顶开始计数.若}w—.J≤(为收敛精度),则表明假设的w值正确,计算终止.显然,手算过程很繁琐.由上述分析可知,尽管运算过程复杂,但仅有一个未知变量w,可利用Matlab提供的fzero函数求解.定义函数.厂()为f()=.一w,.为w的复杂函数,其值通过逐板计算确定. 按R=5时的产品组成对w赋初值.x1X2X3X4X5X8X9X10ff\1\f\f\f\f\ff\fxD—y1y2y3y4y5y6y1y8Y9Ylo图1塔板气液组成的计算思路Matlab程序(distillation.13q)清单如下:functionditillation%程序定义clear;clc%主程序开始globalDTFxfalphaNMNRglobalYxxdDTF=0.1844;alpha=2.47;N=10;NM:8;%第6行xf=0.25;%第7行R=8;%第8行xw0=0.085;XW=fzero(@func,xw0);fprinff(\txd=%8.5f\txw=%8.5f\n,xd,xw);fprinff(\tNo\tx\ty\n);fori=1:Nfprintf(\t%3d\t%8.5f\t%8.5f\n,i,x(i),Y(i));end%主程序结束functionf=func(XW)%自定义内部函数globalDTFxfalphaRNMNYxxdxd=(xf—XW(1一DTF))/DTF;ifxd<0xd=0:elseifxd>1xd=1:endY(1)=xd;fori=1:(NM一1)x(i)=Y(i)/(alpha一(alpha一1)Y(i));%相平衡方程y(i+1)=R/(R+1)x(i)+xd/(R+1);%精馏段操作线方程ify(i+1)<0Y(i+1)=0;elseifY(i+1)>1Y(i+1)=1;endendfori=NM:(N一1)x(i)=Y(i)/(alpha一(alpha一1)Y(i));y(i+1)=(R:l=DTF+1)x(i)一(1一DTF)XW;Y(i+1)=Y(i+1)/(R+1)/DTF;%提馏段操作线方程ifY(i+1)<0Y(i+1):0;elseifY(i+1)>1Y(i+1)=1;endendx(N)=Y(N)/(alpha一(alpha一1)Y(N));f=x(N)一XW;程序运行结果:.=0.993,w:0.0821.各板组成见表2.41文献[3]的结果为初设值w=0.0821,.=0.0825,所以本程序运行结果可靠.本算例表明,fzero函数对待求单变量非线性方程f()=0中的函数)的定义很灵活,其形式繁简皆宜.表2塔板气液组成分布No.YNo.Y10.9820.99360.5200.72820.9600.98470.3520.57230.9150.96480.2290.42340.8310.92490.1480.30150.6950.849100.08210.18l算例3_3J:进料组成变动对精馏塔操作的影响:文献[3]指出:若一个精馏塔的进料组成由下降至,则在同一回流比及塔板数下塔顶馏出液组成将由.下降至,塔釜组成将由w下降至.理论教学时,常采用作图法阐释上述结论.如果让学生自己计算,不但可以加深对教学内容的理解,而且运算结果更具说服力.表3列出了进料组成变动(其他条件不变,即D/F=0.1844,回流比R=5,相对挥发度=2.47,总板数N=10,于第8板加料)时,采用distillation.ITI程序的运行结果.可见计算结果与预测趋势相符.表3进料组成变动对精馏结果的影响FXDXWFXDXW0.100.4610.O18O.200.8800.0460.150.6790.0300.220.9410.0570.180.8030.0390.250.9800.085若要预测加料位置,原料组成,回流比变化时产品质量的变化趋势,只要分别修改distil.1ation.m程序清单的第6行,第7行和第8行.以上3个算例表明,由于Matlab自带丰富的函数,学生只要清楚被求解问题的计算思路,掌握用Matlab编程的基础知识,就能很快利用Matlab求解化工原理计算问题.应用Matlab求解化工原理操作型计算问题,学生不需编制较难的数值计算程序(如求解非线性方程(组)),只需弄清问题的求解思路,编程难度大为降低,程序可读性强,计算快捷,准确.从笔者的教学实践看,当教师提供了示例程序清单后,学生能很快地掌握Matlab的编程方法,并在教师的示例程序基础上灵活变通,这样既提高了学生的学习积极性,又克服了学生对复杂计算的畏难情绪,可让学生有更多的精力用于创造性学习.参考文献1黄华江.实用化工计算机模拟——Madab在化学工程中的应用.北京:化学工业出版社,20042何潮洪,冯霄.化工原理(上册).北京:科学出版社,20013陈敏恒,丛德兹,方图南,等.化工原理(下册).第3版.北京:化学工业出版社,2006 42。
Matlab与化工数值计算-第5讲常微分方程数值解

Matlab与化工数值计算-第5 讲常微分方程数值解
odefile的编写
求解初值问题:
y
'
y
2x y
y ( 0 ) 1
(0x1)
y' f (x, y)
y(a)
y0
ode输入函数
输出变量为因变量 导数的表达式
function f=fun(x,y) f=y-2*x/y;
自变量在前,因变 量在后
可以设置的参数参见odeset ❖ P1,P2,…的作用是传递附加参数P1,P2,…到ode文件。当options缺省时,应
在相应位置保留[],以便正确传递参数。
常微分方程初值问题解算指令比较
解算指 令
算法
ode45 ode23 ode113
四五阶Runge-Kutta法
二三阶Runge-Kutta法
1.根据常微分方程要求的求解精度与速度要求
求解初值问题:
y
'
y
2x y
y ( 0 ) 1
(0x1)
比较ode45和ode23的求解精度和速度
ode45和ode23的比较
function Cha5demo1 %Comparison of results obtained from ode45 and ode23 solver format long y0=1; tic,[x1,y1]=ode45(@fun,[0,1],y0);t_ode45=toc tic,[x2,y2]=ode23(@fun,[0,1],y0);t_ode23=toc plot(x1,y1,'b-',x2,y2,'m-.'), xlabel('x'),ylabel('y'), legend('ODE45','ODE23','location','Northwest')
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b 0.08664 RTc / Pc 0.08664 8.314 425 / 3.8 106 80.56 10 6
v=Z*R*T/P 用 MATLAB 编程实现,首先建立函数 myfun1 和函数 myfun2 function ff=myfun1(Z); T=460;P=1.52e+6; %R-K 方法 Tc=425;Pc=3.8e+6;w=0.193;R=8.314; b=0.08664*R*Tc/Pc; a=0.42747*R^2*Tc^2.5/Pc; v=Z*R*T/P; righteq=(R*T)/(v-b)-a/(T^0.5*v*(v+b)) ff=abs(P/righteq-1); function xishu=myfun2(Z) T=460;P=1.52e+6; %R-K 方法 Tc=425;Pc=3.8e+6;w=0.193;R=8.314; b=0.08664*R*Tc/Pc; a=0.42747*R^2*Tc^2.5/Pc; v=Z*R*T/P; xishu=exp(log(v/(v-b))+a*log(v/(v+b))/(T^0.5*b*R*T)+Z-1-log(Z)) f=P*xishu disp(['压缩因子:',num2str(Z)]); disp(['正丁烷的摩尔体积:',num2str(v)]); disp(['正丁烷的逸度系数:',num2str(xishu)]); disp(['正丁烷的逸度:',num2str(f)]);
例:求 C4 H10 在 460K,1.520MPa 下的逸度 方法 1. I.g 解: R-K 法:
Tc 425K
2. R-K
Pc 3.80MPa
3. 普/23.8 10 2.8955 10
a 0.42748R 2Tc 2 . /5 Pc 0.42748 8.314 2425
输入命令开始迭代 Z=0.5;ff=myfun1(Z); while ff>0.001 Z=Z+0.0001; if Z<1 ff=myfun1(Z) myfun2(Z) end end 结果为:压缩因子:0.8835 正丁烷的摩尔体积:0.002223 正丁烷的逸度系数:0.89431 正丁烷的逸度:1359345.5333 2.普遍化关联法 T=460;P=1.52e+6; %普遍化关联法 Tc=425;Pc=3.8e+6;w=0.193;R=8.314; Tr=T/Tc;Pr=P/Pc; BO=0.083-0.422/(Tr^1.6); B1=0.139-0.172/(Tr^4.2); B=BO+w*B1; xishu=exp(B*Pr/Tr); f=P*xishu; disp(['正丁烷的逸度系数:',num2str(xishu)]); disp(['正丁烷的逸度:',num2str(f)]); 正丁烷的逸度系数:0.89977 正丁烷的逸度:1367646.3748