- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
217牛顿迭代法
PAGE
PAGE 5
实验十七 牛顿迭代法
【实验目的】
了解牛顿迭代法的基本概念。
了解牛顿迭代法的收敛性和收敛速度。
学习掌握MATLAB软件有关的命令。
【实验内容】
用牛顿迭代法求方程的近似根,误差不超过。
【实验准备】
1.牛顿迭代法原理
设已知方程的近似根,则在附近可用一阶泰勒多项式近似代替.因此, 方程可近似地表示为.用表示的根,它与的根差异不大.
设,由于满足解得
重复这一过程,得到迭代格式
这就是著名的牛顿迭代公式,它相应的不动点方程为
.
2. 牛顿迭代法的几何解析
在处作曲线的切线,切线方程为。令,可得切线与轴的交点坐标,这就是牛顿法的迭代公式。因此,牛顿法又称“切线法”。
图17.1 牛顿迭代法
3.牛顿迭代法的收敛性
计算可得,设是的单根,有,则
,
故在附近,有.根据不动点原理知牛顿迭代法收敛.
4.牛顿迭代法的收敛速度
定理(牛顿法收敛定理) 设在区间上有二阶连续导数,且满足,在上不变号, 在上不等于0,令
有.则对任意,牛顿迭代格式收敛于在中的唯一实根,并且:
(1)
(2)
(3) ,牛顿迭代法为2阶收敛.
5.迭代过程的加速
对不动点方程,它导出的迭代过程有可能发散,也可能收敛得非常缓慢.这时,我们有没有办法改进不动点方程,让迭代过程收敛得快一些呢?
一个简单办法 注意到和都是不动点方程,他们的加权平均
也是不动点方程,而且与有完全相同的不动点.适当选取的值,可以使发散的迭代过程变得收敛,使收敛慢的迭代过程变得收敛迅速.
(2)加速的原因 在下面的实验中我们可以看到,在不动点附近的导数值在很大程度上决定了迭代过程的收敛性.的绝对值越小,收敛性越好.因此,选择使得.计算得到理想的值为,相应可计算出.
(3) 的选取 由于理想的值为,当变换不大时可以取近似计算.
(4) 回到牛顿迭代法的讨论 为求解方程,可以使用不动点方程,相应的迭代函数为.对进行加速
,
所以,牛顿迭代法是对基本迭代格式进行加速的结果.
迭代的MATLAB命令
MATLAB中主要用for, while等控制流命令实现迭代.
【实验方法与步骤】
练习1 用牛顿迭代法求方程在附近的近似根,误差不超过.
牛顿迭代法的迭代函数??
,
相应的MATLAB代码为:
clear;
x=0.5;
for i=1:3
x=x-(x^3+x^2+x-1)/(3*x^2+2*x+1)
end
可算得迭代数列的前3项0.5455, 0.5437, 0.5437.近三次迭代,就大大超过了精度要求.
练习2用牛顿迭代法求方程.的近似正实根,由此建立一种求平方根的计算方法.
由计算可知,迭代格式为.,在实验12的练习4种已经进行了讨论.
练习3用牛顿迭代法求方程的正根.
牛顿迭代法的迭代函数为
如果取初值为,相应的MATLAB代码为:
clear;
x=0.0;
for i=1:6
x=x-(x*exp(x)-1)/((x+1)*exp(x))
end
可算得迭代数列的前6项1, 0.6839, 0.5775, 0.5672, 0.5671, 0.5671,说明迭代是收敛的.
如果取初值为,相应的MATLAB代码为:
clear;
x=10.0;
for i=1:20
x=x-(x*exp(x)-1)/((x+1)*exp(x))
end
可算得迭代数列的前20项为
9.0909, 8.1900, 7.2989, 6.4194, 5.5544, 4.7076, 3.8844, 3.0933, 2.3487, 1.6759,
1.1195, 0.7453, 0.5902, 0.5676, 0.5671, 0.5671, 0.5671, 0.5671, 0.5671, 0.5671
说明迭代是收敛的.
如果取初值为,或,可算得(MATLAB代码略去)迭代数列是发散的.请根据函数图形分析原因,
练习4求方程在附近的根,精确到.
先直接使用的迭代格式, 相应的MATLAB代码为:
n=0; eps=1.0e-5; x=0.5;
while abs(x-exp(-x))eps
p(-x); n=n+1;
end
x, n
结果为x= 0.5671, n = 17,说明迭代17次后达到精度要求.
为加快收敛速度,用构造迭代格式,由实验的预备知识中可知取,
相应的MATLAB代码为:
n=0; eps=1.0e-5; x=0.5;
while abs(x-0.625*exp(-x)-0.375*x)eps
x=0.625*exp(-x)+0.375*x; n=n+1;
end
x, n
结果为x= 0.5671, n = 3,说明迭代3次后达到精度要求..
练习5对练习中方程,用加快
您可能关注的文档
最近下载
- 课程思政英语 说课.pptx
- 【IPO案例】认缴制下尚未实缴出资的股权投资的会计处理.pdf VIP
- GB 7099-2015 食品安全国家标准 糕点面包(高清版).pdf
- [其他地区]西藏日喀则昂仁县司法局招聘专职人民调解员笔试历年高频考点(难、易错点)附带答案详解.docx
- 喉罩在小儿麻醉中--课件.ppt VIP
- 喉罩在小儿麻醉中.ppt VIP
- 沪教版小学六年级英语上Unit 9 Great cities of the world 教案.pdf VIP
- 新部编版道德与法治六年级下册《探访古代文明第1课时早期文明发祥地》教案设计.docx
- 教科版六年级科学上册第二单元《地球的运动》测试卷及答案(含四套题).doc VIP
- 我的情绪小怪兽[借鉴].pptx VIP
文档评论(0)