欢迎来到天天文库
浏览记录
ID:45097330
大小:335.00 KB
页数:14页
时间:2019-11-09
《实验五__牛顿迭代法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验五牛顿迭代法【实验目的】1.了解牛顿迭代法的基本概念.2.了解牛顿迭代法的收敛性和收敛速度。3.学习、掌握MATLAB软件有关的命令。【实验内容】用牛顿迭代法求解方程的近似根,误差不超过10-3。【实验准备】1.牛顿迭代法原理设已知方程的近似根,则在附近可用一阶泰勒多项式近似代替。因此,方程可近似表示为。用近似表示根差异不大。设,由于满足,解得重复这以过程,得到迭代格式这就是著名得牛顿迭代公式,它相应的不动点方程为牛顿迭代法2.牛顿迭代法的几何解析在处做曲线的切线,切线方程为令可得切线与轴的交点坐标,这就是牛顿迭代法的迭代公式。因此,牛顿法又称“切线法”。3.牛顿迭代法的收
2、敛性计算可得,设是的单根,有,则故在附近,有。根据不动点原理知牛顿迭代法收敛。4.牛顿迭代法的收敛速度定理(牛顿法收敛定理)设在区间上有二阶连续导数,且满足,在上不变号,在[a,b]上不等于0,令有,则对任意,牛顿迭代格式收敛于在中的唯一实根,且,牛顿迭代法为二阶收敛。对不动点方程,它导出的迭代过程有可能发散,也可能收敛得非常缓慢。这时,我们有没有办法改进不动点方程,让迭代过程收敛得快一些呢?迭代过程的加速(1)一个简单办法注意到和都是不动点方程,它们的加权平均也是不动点方程,而且和有完全相同的不动点。适当选取的值,可以使发散的迭代过程变得收敛,使收敛慢的迭代过程变得收敛迅速。
3、(2)加速的原因在下面的实验中我们可以看到,在不动点附近的导数值在很大程度上决定了迭代过程的收敛性。的绝对值越小,收敛性越好。因此,选择使得。计算得到理想的值为,相应可计算出(1)一个简单办法注意到和都是不动点方程,它们的加权平均也是不动点方程,而且和有完全相同的不动点。适当选取的值,可以使发散的迭代过程变得收敛,使收敛慢的迭代过程变得收敛迅速。(2)加速的原因在下面的实验中我们可以看到,在不动点附近的导数值在很大程度上决定了迭代过程的收敛性。的绝对值越小,收敛性越好。因此,选择使得。计算得到理想的值为,相应可计算出(3)的选取由于理想的值为,当变化不大时,可以取近似计算。(4
4、)回到牛顿迭代法的讨论为求解方程,可以使用不动点方程,相应的迭代函数为对进行加速所以,牛顿迭代法是对基本迭代格式进行加速的结果。5.迭代的MATLAB命令MATLAB中主要用for,while等控制流命令实现迭代。练习1用牛顿迭代法求方程在附近的近似根,误差不超过10-3。牛顿迭代法的迭代函数为:相应的matlab代码为:(运行)clear;x=0.5;fori=1:3x=x-(x^3+x^2+x-1)/(3*x^2+2x+1)end可算得迭代数列的前三项0.5455,0.5437,0.5437。经三次迭代就大大超了精度练习2用牛顿迭代法求方程的近似正实根,由此建立一种求平方根
5、的计算方法。由计算可知,迭代格式为,在实验12的练习4中已经进行了讨论。练习3用牛顿迭代法求方程的正根。牛顿迭代法的迭代函数为如果取初值为,相应的MATLAB代码为(运行)clearx=0;fori=1:6x=x-(x*exp(x)-1)/((x+1)*exp(x))end可得迭代数列前6项为1.0000,0.6839,0.57750.5672,0.5671,0.5671,说明迭代实收敛的。如果取初值为10,相应的MATLAB代码为clear;x=10.0;fori=1:20x=x-(x*exp(x)-1)/((x+1)*exp(x))y(i)=x;End(运行)可算得迭代数列
6、的前20项为9.0909,8.19007.2989,6.4194,5.5544,4.7076,3.8844,3.0933,2.34871.6759,1.1195,0.7453,0.59020.5676,0.5671,0.5671,0.5671,0.5671,0.5671,0.5671,说明迭代是收敛的。如果取初值或,可算得迭代数列是发散的,根据函数图形分析原因。练习4求方程在附近的根,精确到10-5先直接使用的迭代格式,相应的MATLAB代码为n=0;esp=1.05e-5;x=0.5;whileabs(x-exp(-x))>espx=exp(-x);n=n+1;endx,n(
7、运行)结果为x=0.5671,n=17,说明迭代17次后达到精度要求。可算得迭代数列的前20项为9.0909,8.19007.2989,6.4194,5.5544,4.7076,3.8844,3.0933,2.34871.6759,1.1195,0.7453,0.59020.5676,0.5671,0.5671,0.5671,0.5671,0.5671,0.5671,说明迭代是收敛的。如果取初值或,可算得迭代数列是发散的,根据函数图形分析原因。练习4求方程在附近的根,精确到10-5先直接使用
此文档下载收益归作者所有