当前位置:文档之家› 现代数值分析

现代数值分析

研硕16《化工数值方法及Matlab应用》试题
班级姓名成绩
1.(15分)数值计算方法的主要研究对象有哪些?其常用基本算法主要包括哪三个方面?举例说明Matlab在解决化工数值计算问题方面有什么样实用价值?答:(1)数值计算方法的主要研究对象为非线性方程求根,插值法、曲线拟合、数值积分、常微分方程(组)、初值问题求解、线性和非线性方程组求解。

(2)基本算法包括①离散化方法:用差商代替导数、差分代替微分等,将连续的数学问题转化为离散问题。

②逼近方法:用简单函数的值近似代替求解困难或形式未知的复杂函数的值。

③迭代法:用一个固定公式反复计算,对较为粗糙的根的近似值进行加工直到满足精度要求的方法。

(3)Matlab在解决化工数值计算问题的实用价值有:数值计算和符号计算功能;图形功能;MATLAB语言;功能性和学科性工具箱。

2.(10分)数值计算中的“曲线拟合”,一般有哪些方法?请至少指出四种,并简述各自的基本特点。

答:(1)拉格朗日插值:,优点在于不要求数据点事等间隔的,缺点是数据点不易过多,当数据比较多时,差值函数有偏离原函数的风险;
(2)牛顿插值法:它不仅克服了“增加一个节点时整个计算工作必须重新开始”的缺点,而且可以节省乘、除法运算次数。

同时,在牛顿插值多项式中用到的差分与差商等概念,又与数值计算的其他方面有着密切的关系。

(3)牛顿迭代法:牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f(x) = 0的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。

(4)区间二分法:优点:算法简单,容易理解,且总是收敛的。

缺点:收敛速度太慢,浪费时间,二分法不能求复根跟偶数重根。

(5)最小二乘法:通过最小化误差的平方和寻找数据的最佳函数匹配。

利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。

3. (15分)在298K 下,化学反应 2OF 2=O 2+2F 2 的平衡常数为0.410 atm ,如在298K 下将OF 2 通入容器,当t=0 时为1 atm ,问最后总压是多少?取计算精度为10-3。

解:首先写出求解问题的数学方程式。

假设气体是理想气体,由反应的化学计量式可知, 22222F O OF +=
设氧的分压为p ,平衡时有p 21- p p 2。

平衡时,有()410.02142
3=-p p 整理得 0410.064.1640.1423=-+-p p p
函数关系为 ()0410.064.1640.1423=-+-=p p p p f
非线性方程求根问题,如何确定求解区间[]b a,?
由计算得()()0424
-
f
2.0=
=f
1156
.0
3.0
,
.0
因此,有根区间为[]3.0,2.0,用求单根的二分法计算,求解得氧气分压。

编写二分法的MATLAB程序:bisect.m
function [xstar,index,it]=bisect(fun,a,b,ep)
%fun为需要求根的函数;
%a,b为初始区间的端点;
%ep为精度,缺省值为1e-5'
%当(b-a)/2<ep时,算法终止;
%xstar为当迭代成功时,输出方程的根,
%当迭代失败时,输出两端点的函数值;
%index为指标变量,
%index=1时,表明迭代成功,
%index=0时,表明初始区间不是有根区间;
%it为迭代次数.
if nargin<4 ep=1e-5;end
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<0
b=x;fb=fx;
else
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次。

2746.0=p
最后总压为()atm p p P 2746.1213=-+=
4. (10分)下表给出11月8日某个城市郊区在5个小时中的测量温度。

请用MATLAB 对表中的数据构造一个拉格朗日插值多项式,并估计在下午3:15分时的温度值。

然后在同一坐标系中画出表中的数据和上述得到的多项式曲线。

下午时间 1 2 3 4 5 6 华氏温度
66.5
66
65
64
63
62.4
解:
编程程序如下:
命令运行结果如下:
下午3:15分时的温度值近似取3:25的温度值,64.7484华氏度。

5. (20分)在下列反应器中发生A向B的转化反应,由于转化率不高,需经精馏以获得规定纯度的B,而精馏塔中的残余物再返回反应器继续反应。

这是典型的化工过程。

现已知原料为纯A,其流量为F A0=100kmol/h,A向B的转化率为φA=50%,A和B的循环比分别为r A=r B=0.5。

试用Matlab求恰定方程组的方法求1、2、3处A、B各自的物流量。

答:令A为1号,B为2号,3
2 1
反应器A→B 精馏塔
由反应器A和B的平衡得:
①由精馏塔A和B的平衡得:
②由A和B的循环比得:

现已知原料为纯A,其流量为F A0=100kmol/h,A向B的转化率为φA=50%,A和B的循环比分别为r A=r B=0.5,带入①②③且建立线性方程组得
为了便于计算令X1=F11,X2=F21,X3=F12,X4=F22,X5=F13和X6=F23
X1 +X3=100
X1 —X2=25
X3 —X4=25
X2—X4=0
这是一个线性方程组转化为矩阵形式为
1 0 1 0 X1 100
1 -1 0 0 X
2 25
0 0 1 -1 X3 25
0 1 0 -1 X4 0
Matlab编程程序如下:
即F11=F21=50 kmol/h,F12= F22=25 kmol/h,F13= F23=25 kmol/h 6.(30分)热力学实验测得如下关于氧气的压缩因子数据:
p,atm 0 20 40 60 80 100 120 z 1 0.98654 0.97420 0.96297 0.95286 0.94387 0.93599
请用MATLAB对z-p进行拟合并作出相应的拟合曲线,再用组合辛普生法求其逸度系数ψ。

逸度系数ψ的定义如下(注意:在实际物理概念上有:p=0时ψ=1)。

dp
p
z p
⎰-
=
1
lnψ
答:对z-p的数据点,作图图像,然后根据图像选择多项式拟合,阶数为2,程序运行结果如下:
由绘制所得的图像可以看出拟合曲线通过了所有的数据点,拟合效果比较好,所得拟合函数为:
用组合辛普生法求其逸度系数ψ,运行程序如下:结果显示逸度系数为0.9286。

相关主题