现代数值分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

研硕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

%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华氏度。

相关文档
最新文档