16年化工数值计算方法试卷
中 国 矿 业 大 学
级士研究生课程考试试卷
考试科目 化工数值方法
考试时间 学生姓名 学 号 所在院系 任课教师
中国矿业大学研究生院培养管理处印制
研硕15《化工数值方法及Matlab 应用》试题
班级 姓名 成绩
1. (15分)数值计算方法的主要研究对象有哪些?其常用的基本算法主要包括哪三个方面?Matlab 在解决化工数值计算问题方面有什么样的实用价值? 2. (10分)数值计算中误差为什么不可避免?用什么标准衡量近似值的准确程度?
解:数值计算中,一般只能得到近似解。误差的产生主要有以下几方面: (1)模型误差:用计算机解决科学计算问题首先要建立数学模型,是对实际问题的抽象、简化得到的,因而是近似的。我们把模型与实际问题之间出现的这种误差称为模型误差。
(2)测量误差:建模时,实验、量测等数据误差称为观测误差。
(3)方法误差(截断误差):由于计算机本身的特性,要求算法必须在有限步内完成,这就要求把数学模型用数值分析方法导出一个计算公式来近似,由此而产生的误差称为方法误差。
(4)舍入误差:由于计算机字长有限,参加运算的数据只能截取有限位,由此而产生的误差称为舍入误差。
一般来说,绝对误差的大小不能充分说明近似值的精确程度,一般用相对误差衡量近似值的准确程度。E r (a )=x *-a /x *,x *为精确值,a 为x *的一个近似数。 3. (15分)在298K 下,化学反应 2OF 2=O2+2F2 的平衡常数为0.410 atm ,如在298K 下将OF 2 通入容器,当t=0 时为1 atm,问最后总压是多少?取计算精度为10-3。
解:首先写出求解问题的数学方程式。
假设气体是理想气体,由反应的化学计量式可知, 2OF 2=O 2+2F 2设氧的分压为p ,平衡时有1-2p p 2p 。
()
4p 3 平衡时,有=0. 410 2
1-2p 整理得 4p 3-1. 640p 2+1. 64p -0. 410=0
函数关系为 f (p )=4p 3-1. 640p 2+1. 64p -0. 410=0 非线性方程求根问题,如何确定求解区间[a , b ]? 由计算得f (0. 2)=-0. 1156, f (0. 3)=0. 0424
因此,有根区间为[0. 2, 0. 3],用求单根的二分法计算,求解得氧气分压。
编写二分法的MATLAB 程序:bisect.m
function [xstar,index,it]=bisect(fun,a,b,ep) %fun为需要求根的函数; %a,b为初始区间的端点; %ep为精度,缺省值为1e-5' %当(b-a)/2
%index=0时,表明初始区间不是有根区间; %it为迭代次数.
if nargin
fa=feval(fun,a);fb=feval(fun,b); if fa*fb>0
xstar=[fa,fb];index=0;it=0; return end k=0;
while abs(b-a)/2>=ep
x=(a+b)/2;fx=feval(fun,x); if fx*fa
a=x;fa=fx; end k=k+1; end
xstar=(a+b)/2;index=1;it=k; 编写本题的求根函数,函数名为fun1.m . function f=fun1(x)
f=4*x^3-1.640*x^2+1.64*x-0.410; 调用二分法函数bisect.m 求方程的根:
[xstar,index,it]=bisect('fun1',0.2,0.3,0.0005) 得到方程的根: xstar =
0.2746
index = 1 it = 7
运行结果表明二分法迭代成功,即达到精度要求,共迭代计算7次。 p =0. 2746
最后总压为P =3p +(1-2p )=1. 2746atm 4. (10
分)实验测得某物质在 20℃下,其水溶液浓度 c (重量%)与粘度(Pa ·s )的关系如下表。试用拉格朗日5次插值计算粘度在 2.0×10
-3 和 5.5×10-3 时所对应的浓度。要求精确到小数点后第 3 位。
解:由题意知,
编写拉格朗日插值的MATLAB 程序:Lagrange.m function yi = Lagrange( x,y,xi ) %Lagrange差值多项式,其中, %x为向量,全部的插值结点; %y为向量,插值节点处的函数值; %xi为标量或向量,被估计函数的自变量; %yi为xi 处的函数估计值。 n=length(x);m=length(y);
%插值点与它的函数值应有相同个数; if n~=m
error('The lengths of X and Y must be equal!'); return ; end
yi=zeros(size(xi)); for k=1:n
w=ones(size(xi)); for j=[1:k-1 k+1:n] %输入的插值节点必须互异 if abs(x(k)-x(j))
w=(xi-x(j))/(x(k)-x(j)).*w end
yi=yi+w*y(k); end
编写求解本题的MATLAB 程序:yaru4.m
x=[1.005*10^-3 1.776*10^-3 2.480*10^-3 3.652*10^-3 4.621*10^-3 5.921*10^-3];
y=[0 20 30 40 45 50]; xi=0:0.0001:0.0069; yi1=Lagrange(x,y,2.0*10^-3) yi2=Lagrange(x,y,5.5*10^-3) yi=Lagrange(x,y,xi); plot(x,y,'o' ,xi,yi) 在MATLAB 命令行窗口输入yaru4
即可得到运行结果:(因运算结果数据量较大,只显示部分结果,截图如下) yi1 =
23.7414
yi2 =
48.0033
拟合函数图像如下:
8060
40
浓度%
20
-20
-40
-600
12
34粘度Pa.s
56
x 10
7
-3
即在粘度为2. 0⨯10时,浓度为23. 741%,粘度为5. 5⨯10时,浓度为48. 003%。
-3-3
5. (20分)实验测得不同压力下纯水的沸点,试用线性最小二乘法求取四参数蒸汽压方程 lnP=A+B/T+CT+DlnT中的四个参数,数据如下。 解:由题意知,
编写求解本题的MATLAB 程序:ln5.m P=[1:8]'
T=[4.00 6.40 8.00 8.80 9.22 9.55 9.70 9.86]' lnP=log(P); T_1=1./T; lnT=log(T);
T_=[ones(length(P),1),T_1,T,lnT] regress(lnP,T_)
在命令行窗口运行该文件,运算结果如下:
P = 1 2
3 4 5 6 7 8 T =
4.0000 6.4000 8.0000 8.8000 9.2200 9.5500 9.7000 9.8600 T_ =
1.0000 1.0000 1.0000 0.2500 4.0000 0.1563 6.4000 0.1250 8.0000 1.3863 1.8563 2.0794
1.0000 0.1136 8.8000 2.1748 1.0000 0.1085 9.2200 2.2214 1.0000 0.1047 9.5500 2.2565 1.0000 0.1031 9.7000 2.2721 1.0000 0.1014 9.8600 2.2885 ans =
81.0274 -134.8623 3.9293 -45.4662
A =81. 0274B =-134. 8623
即各个参数分别为:
C =3. 9293
D =-45. 4662
6. (30分)对于双组分简单精馏塔,其理论板数可用Lewis 法计算。精馏段和提馏段的理论板数N 、M 分别为:
N =M =
⎰
x d
x f
dx
y -x -(x d -y ) /R dx
y -x -(y -x w ) /R '
⎰
x f
x w
现有氯仿-苯二元物系,其汽液平衡数据为:
若x f =0.4,x d =0.9,x w =0.15,R =5,R’=4,试用Matlab 求出所需理论板数。 解:首先,根据,x 和y 的数据拟合它们之间的函数关系,拟合的一次和二次函数
如下图所示,二次函数的拟合效果比较好(也可以在拟合次数更高点,只需把代码里的2换成需要拟合的次数即可,本题就用二次拟合来做,书本中一般y 与x 的关系都认为是直线,这里用二次为了得到较准确的函数关系。)
0.1
0.20.30.40.50.60.70.80.9
一次和二次拟合图
求出y 与x 的函数关系,代入精馏段和提馏段的理论板数N 、M 的公式中进行积分就能求出相应的N 和M 。
编写求解本题的MATLAB 程序:lewis.m
x=[0.178 0.275 0.372 0.456 0.650 0.844]; y=[0.243 0.382 0.518 0.616 0.795 0.931]; xf=0.4;xd=0.9;xw=0.15;R=5;R1=4; p=polyfit(x,y,2)
xx=0.170:0.001:0.850;yy=polyval(p,xx); plot(xx,yy,x,y,'*') Y=poly2sym(p); syms x
f1=1/(Y-x-(xd-Y)/R); f2=1/(Y-x-(Y-xw)/R1); M1=int(f2,xw,xf); M=vpa(M1)
N1=int(f1,xf,xd); N=vpa(N1)
运行结果如下:p =
-0.7764 1.8238 -0.0571
M =
5.[***********][1**********]56
N =
4.[***********][1**********]91
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.20.10.20.30.40.50.60.70.80.9
即为: Q =-0.77642 x^2 + 1.8238 x - 0.0571
由上可知,Q 为y 与x 的函数关系式,精馏段和提馏段的理论板数N 、M 分别为:5和6。