资源描述:
《【精品】数值分析教教案18》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、4.1.3Newton法1.算法的基本思想图4-5牛顿法原理示意图将非线性方程线性化,以线性方程的解逐步逼近非线性方程的解,这就是Ne毗on法的基本思想。把函数/(Q在某一初始值心点附近展开成TayIor级数有/(%)=f(Xo)+(X-x0)ff(x0)+(x-x0)22!十…•取其线性部分,近似地代替函数/(兀)可得方程的近似式:fMQ/(兀0)+(兀一兀0)广(兀0)=°设广(X。)H°,解该近似方程可得:/(兀0)广(%0)可作为方程(4T)的近似解。重复以上过程,得迭代公式xk+i(4-8)按式(4-8)求方程(4T)的近似解称为Newton法。Ne毗on法也
2、是一种不动点迭代,其迭代函数为(4-5)所示,从几何上看,V=/(兀0)+f(兀0)(兀—兀0)为曲线『=/(%)过点(兀o/(兀0))的切线,兀1为切线与兀轴交点,兀2则是曲线上点(坷/(“))处的切线与X轴的交点。如此继续下去,兀+1为曲线上点(兀,/(兀))处的切线与X轴的交点。因此Ne毗on法是以曲线的切线与X轴的交点作为曲线与X轴的交点的近似,故Ne毗on法又称为切线法。2.切线法的收敛性理论可以证明,在有根区间上,连续且不变号,贝IJ只要选取的初始近似根兀0满足/(兀0)厂(兀0)〉°,切线法必定收敛。它的收敛速度可如下推出。方程/⑴=0可以等价地写成/(兀
3、)=(x-x)fXx),若广(X)工0/(X)(、/(X)广⑴,两边求导得,代入x=/'(F)北0则必得gV)=0o移项可得“―利。设g(x)=x~'[广⑴]2另一方面,比较迭代公式%7和g(x)=x-可知,无+i=g(k)。把函数g在兀*点展成泰勒级数,只取到二阶导数则有:耳+1=g(g)=g(T)+g'(T)(H-T)+*:)(耳—T)2由于g'(%*)=0,所以有忑+1=g(H)=g(F)+";)(心—T)2,移项并注意T=g(T),得出/**g(X)/*2耳+1一g(x)=忑+1一x=2(忑_兀)为了将式中的g"(T)换成/(%),对&3=['ey两边
4、求导,并代入/(X)=0,则有:"%将它代入前式得出(4-9)广W)2广(T)是个常数,式(4-9)表明用牛顿迭代公式在某次算得的误差,与上次误差的平方成正比,可见牛顿迭代公式的收敛速度很快,但计算实践表明,当初值不够好时,Ne毗on法可能发散。一般可由问题的实际背景来预测或由对分区间法求得较好的初始值。3.Ne毗on迭代公式MatIab实现按照算法4-4编写迭代法的MatIab程序(函数名:Ne毗on.m).function[p1,err,k,y]=newton(f,df,pO,delta,maxi)%f是非线性函数%df是f的微商%pO是初始值%delta是给定允许
5、误差%maxi是迭代的最大次数%p1是牛顿法求得的方程的近似值%err是pO的误差估计%k是迭代次数%y=f(pDpO,fevaI('f',pO)fork=1:maxip1=p0-fevaI('f',pO)/fevaI('df',pO);err=abs(p1-pO);pO二p1;p1,err,k,y=fevaI('f',p1)if(err6、(y=0),break,endend【例4-3]求方程x3-3x+2的近似值,给定一个初始值Po=1・2,误差界为10"。首先,在MATLAB命令窗口输入:fpIot(1[x八3-3*x+2,0]1,[-2.52.5])
7、;grid;回车得到如图4-6所示图形,即可知函数f(x)与x轴有交点,也就是说有根,并且从图中能够大致估算到根的位置。先用一个名为f.m的文件定义函数—3兀+2:functiony二f(x)y二xY-3*x+2;再用一个名为df.m的文件定义函数的微商df(x)=3x2-3:functiony二df(x)y二3*x"2-3;然后在MATLAB命令窗口输入:»newtonC^1,rdfr,1.2,10^(-6),10)图4-6f(x)与x轴交点显示图回车得到如下结果(只给出了最后两次迭代结果人k二9p1二1・0004err二4.1596e-004k二10p1二1.000
8、2err二2.0802e-004ans=1.00024.1.4弦截法用牛顿法解非性方程要知道/'(忑)的值,当f比较复杂时难以实现,下面要介绍的弦截法用/W在两个点上的值构造一次插值函数来回避微商的计算。给定非线性方程fM=o,选定曲线y=fM上的两个点£)(“)/(兀0)),片(坷/(兀1)),过这两个点作一条直线丽贝IJ直线方程y=f^+—;_兀°(无—坷)。当/(“))h/(“)时,A1Ao——_于(兀1)(州一X。)直线化片与X轴交点为兀27-心)_唇),这时用兀2作为曲线y=与x轴交点的近似值,显然: