年化工数值计算方法试卷文档格式.doc
- 文档编号:6861391
- 上传时间:2023-05-07
- 格式:DOC
- 页数:12
- 大小:397.50KB
年化工数值计算方法试卷文档格式.doc
《年化工数值计算方法试卷文档格式.doc》由会员分享,可在线阅读,更多相关《年化工数值计算方法试卷文档格式.doc(12页珍藏版)》请在冰点文库上搜索。
(2)测量误差:
建模时,实验、量测等数据误差称为观测误差。
(3)方法误差(截断误差):
由于计算机本身的特性,要求算法必须在有限步内完成,这就要求把数学模型用数值分析方法导出一个计算公式来近似,由此而产生的误差称为方法误差。
(4)舍入误差:
由于计算机字长有限,参加运算的数据只能截取有限位,由此而产生的误差称为舍入误差。
一般来说,绝对误差的大小不能充分说明近似值的精确程度,一般用相对误差衡量近似值的准确程度。
,为精确值,为的一个近似数。
3.(15分)在298K下,化学反应2OF2=O2+2F2的平衡常数为0.410atm,如在298K下将OF2通入容器,当t=0时为1atm,问最后总压是多少?
取计算精度为10-3。
首先写出求解问题的数学方程式。
假设气体是理想气体,由反应的化学计量式可知,
设氧的分压为,平衡时有。
平衡时,有
整理得
函数关系为
非线性方程求根问题,如何确定求解区间?
由计算得
因此,有根区间为,用求单根的二分法计算,求解得氧气分压。
编写二分法的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为迭代次数.
ifnargin<
4ep=1e-5;
end
fa=feval(fun,a);
fb=feval(fun,b);
iffa*fb>
xstar=[fa,fb];
index=0;
it=0;
return
k=0;
whileabs(b-a)/2>
=ep
x=(a+b)/2;
fx=feval(fun,x);
iffx*fa<
b=x;
fb=fx;
else
a=x;
fa=fx;
end
k=k+1;
xstar=(a+b)/2;
index=1;
it=k;
编写本题的求根函数,函数名为fun1.m.
functionf=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次。
最后总压为
4.(10分)实验测得某物质在20℃下,其水溶液浓度c(重量%)与粘度(Pa·
s)的关系如下表。
试用拉格朗日5次插值计算粘度在2.0×
10-3和5.5×
10-3时所对应的浓度。
要求精确到小数点后第3位。
由题意知,
编写拉格朗日插值的MATLAB程序:
Lagrange.m
functionyi=Lagrange(x,y,xi)
%Lagrange差值多项式,其中,
%x为向量,全部的插值结点;
%y为向量,插值节点处的函数值;
%xi为标量或向量,被估计函数的自变量;
%yi为xi处的函数估计值。
n=length(x);
m=length(y);
%插值点与它的函数值应有相同个数;
ifn~=m
error('
ThelengthsofXandYmustbeequal!
'
);
return;
yi=zeros(size(xi));
fork=1:
n
w=ones(size(xi));
forj=[1:
k-1k+1:
n]
%输入的插值节点必须互异
ifabs(x(k)-x(j))<
eps
error('
theDATAiserror!
reture;
w=(xi-x(j))/(x(k)-x(j)).*w
yi=yi+w*y(k);
编写求解本题的MATLAB程序:
yaru4.m
x=[1.005*10^-31.776*10^-32.480*10^-33.652*10^-34.621*10^-35.921*10^-3];
y=[02030404550];
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
拟合函数图像如下:
即在粘度为时,浓度为,粘度为时,浓度为。
5.(20分)实验测得不同压力下纯水的沸点,试用线性最小二乘法求取四参数蒸汽压方程lnP=A+B/T+CT+DlnT中的四个参数,数据如下。
编写求解本题的MATLAB程序:
ln5.m
P=[1:
8]'
T=[4.006.408.008.809.229.559.709.86]'
lnP=log(P);
T_1=1./T;
lnT=log(T);
T_=[ones(length(P),1),T_1,T,lnT]
regress(lnP,T_)
在命令行窗口运行该文件,运算结果如下:
P=
2
3
4
5
6
8
T=
4.0000
6.4000
8.0000
8.8000
9.2200
9.5500
9.7000
9.8600
T_=
1.00000.25004.00001.3863
1.00000.15636.40001.8563
1.00000.12508.00002.0794
1.00000.11368.80002.1748
1.00000.10859.22002.2214
1.00000.10479.55002.2565
1.00000.10319.70002.2721
1.00000.10149.86002.2885
ans=
81.0274
-134.8623
3.9293
-45.4662
即各个参数分别为:
6.(30分)对于双组分简单精馏塔,其理论板数可用Lewis法计算。
精馏段和提馏段的理论板数N、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,R’=4,试用Matlab求出所需理论板数。
首先,根据,x和y的数据拟合它们之间的函数关系,拟合的一次和二次函数如下图所示,二次函数的拟合效果比较好(也可以在拟合次数更高点,只需把代码里的2换成需要拟合的次数即可,本题就用二次拟合来做,书本中一般y与x的关系都认为是直线,这里用二次为了得到较准确的函数关系。
)
一次和二次拟合图
求出y与x的函数关系,代入精馏段和提馏段的理论板数N、M的公式中进行积分就能求出相应的N和M。
lewis.m
x=[0.1780.2750.3720.4560.6500.844];
y=[0.2430.3820.5180.6160.7950.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);
symsx
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.77641.8238-0.0571
M=
5.1761195414312404385321290726256
N=
4.6417310857310359981768241565291
即为:
Q=-0.77642x^2+1.8238x-0.0571
由上可知,Q为y与x的函数关系式,精馏段和提馏段的理论板数N、M分别为:
5和6。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 化工 数值 计算方法 试卷