上机作业1

2025-11-24

2015级研究生 《计算方法》作业

2015年11月

上机作业1

数值试验3

3-1试验目的:考察不动点迭代法的局部收敛性

试验内容: 2x?ex?3?0 至少采用3种迭代法,迭代100次,考察收敛性,改变初值符号,再做迭代。分析收敛与发散的原因。

(1)迭代原理:若实数p满足p?g?p?,p称为函数g?x?的一个不动点,迭代

pn?1?g?pn?,n?0,1,...称为不动点迭代,g?x?称为迭代函数。由不动点方程建立迭代法pn?1?g?pn?,n?0,1,...,其中p0称为初值,需要预先给定。 方程2x?ex?3?0分别对应下列不同形式的不动点方程:

xxx?g(x)??x?e?3 x?g(x)?(e?3)/221??

2x?ex?3x?g3(x)?x? ?2?ex取p0??0.5,Tol?10?5,N?100,按pn?1?gi?pn?,i?1,2,3迭代,并分析收敛性。 (2)不动点迭代法代码 编制函数文件

Iteratepro.m

function y=iteratepro(x) x1=g(x); n=1;

while (norm(x1-x) >=1.0e-5) &(n<=100) x=x1;

x1=g(x);n=n+1; end x1 n

编制函数文件 不动点方程(1) function y=g(x) y=(exp(x)-3)/2;

不动点方程(2) function y=g(x) y=exp(x)-x-3; 不动点方程(3)

function y=g(x)

y=x-(2*x-exp(x)+3)/(2-exp(x)); (3)迭代结果汇总表: 近似解x* 格式(1) 格式(2) 格式(3) (4)结果分析:

(1)三种迭代格式均收敛,近似解为x*??1.3734。 (2)当设定的初值接近真实解,所用的迭代次数较小。

(3)不同迭代格式,效果不一样,迭代格式(3)实质是newton迭代法,其迭代效果明显快于其他格式。

3-2试验目的:考察Newton法求根的收敛速度

试验内容:应用Newton法求解试验3-1中的方程,并与实验3-1中收敛的迭代法进行比较,考察收敛速度。精确到0.00001。 (1)Newton迭代法原理:

在求解非线性方程f(x)?0时,它的困难在于f(x)是非线性函数,为克服这一困难,考虑它的线性展开。设当前点为xk,在xk处的Taylor展开式为

初值x=-0.5 -1.1967 -1.3734 -1.3734 迭代次数n 7 42 4 初值x=0.5 -1.3734 -1.3734 -1.3734 迭代次数n 8 41 5 f(x)?f(xk)?f'(xk)(x?xk) 令f(x)?0,解其方程得到

xk?1?xk?f(xk),(k?0,1,?) 'f(xk)

(2)程序代码 编制函数文件

newton.m

function y=newton(x0) x1=x0-fc(x0)/df(x0); n=1;

while (abs(x1-x0)>=1.0e-5)&(n<=100) x0=x1;

x1=x0-fc(x0)/df(x0);n=n+1; end x1 n

对于试验3-1编制函数文件 fc.m

function y=fc(x) y=2*x-exp(x)+3; df.m

function y=df(x) y=2-exp(x); (3)运行结果 结果汇总表: 近似解x* 格式(1) 格式(2) Newton迭代

结果分析:

(1)三者结果均收敛,解x*??1.3734。

(2)Newton迭代法迭代次数最小,收敛速度明显优于格式(1),(2)。

初值x=-0.5 -1.1967 -1.3734 -1.3734 迭代次数n 7 42 4 初值x=0.5 -1.3734 -1.3734 -1.3734 迭代次数n 8 41 5 3-3 试验目的:掌握求重根的方法

试验内容:分别用Newton法和不动点迭代法求解方程x?sinx?0,考察收敛速度,再用求重根的两种方法求方程的根,精确到0.00001。 (1)实验原理同3-1,3-2; (2)程序代码 Newton迭代法程序 函数文件 fc.m

function y=fc(x) y=x-sin(x); df.m

function y=df(x) y=1-cos(x); 程序代码

newton.m

function y=newton(x0) x1=x0-fc(x0)/df(x0); n=1;

while abs(x1-x0)>=1.0e-5 x0=x1;

x1=x0-fc(x0)/df(x0);n=n+1; end

不动点迭代法 编制函数文件

Iteratepro.m

function y=iteratepro(x) x1=g(x); n=1;

while norm(x1-x)>=1.0e-6 x=x1;

x1=g(x);n=n+1; end 函数文件 g.m

function y=g(x) y=sin(x); 运行结果


上机作业1.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:学习力研究选题指南

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219