数值分析论文 (8)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
牛顿迭代法及其应用
[摘要]本文研究应用泰勒展开式构造出牛顿迭代法,论证了它的局部收敛性和收敛阶。分别讨论了单根情形和重根情形,给出了实例应用。最后给出了离散牛顿法的具体做法。
[关键词] 关键词:泰勒展开式,牛顿迭代法及其收敛性,重根,离散牛顿法。
1.牛顿法及其收敛性
求方程f(x)=0的根,如果已知它的一个近似,可利用Taylor展开式求出f(x)在附近的线性近似,即
,ξ在x与之间
忽略余项,则得方程的近似
右端为x的线性方程,若,则解,记作,它可作为的解的新近似,即
(2.4.1)
称为解方程的牛顿法.在几何上求方程的解,即求曲线y=f(x)与x轴交点.若已知的一个近似,通过点(,f())作曲线y=f(x)的切线,它与
x轴交点为,作为的新近似,如图1所示
图1
关于牛顿法收敛性有以下的局部收敛定理.
定理1设是f(x)=0的一个根,f(x)在附近二阶导数连续,且,则牛顿法(2.4.1)具有二阶收敛,且
(2.4.2)
证明由式(2.4.1)知迭代函数,,
,而,由定理可知,牛顿迭代(2.4.1)具有二阶收敛,由式可得到式(2.4.2).证毕.
定理表明牛顿法收敛很快,但在附近时才能保证迭代序列收敛.有关牛顿法半局部收敛性与全局收敛定理.此处不再讨论.
例1用牛顿法求方程的根.
,牛顿迭代为
取即为根的近似,它表明牛顿法收敛很快.
例2设>0,求平方根的过程可化为解方程.若用牛顿法求解,由式(2.4.1)得
(2.4.3)
这是在计算机上作开方运算的一个实际有效的方法,它每步迭代只做一次除法和一次加法再做一次移位即可,计算量少,又收敛很快,对牛顿法我们已证明了它的局部收敛性,对式(2.4.3)可证明对任何迭代法都是收敛的,因为当
时有
即,而对任意,也可验证,即从k=1开始,且
所以{}从k=1起是一个单调递减有下界的序列,{}有极限.在式(2.4.3)中令k→∞可得,这就说明了只要,迭代(2.4.3)总收敛到,且是二阶收敛.
在例2.4的迭代法(3)中,用式(2.4.3)求只迭代3次就得到
=1.732 051,具有7位有效数字.
求非线性方程f(x)=0的根x*,几何上就是求曲线y=f(x)与x轴交点x*,若已知曲线上一点过此点作它的切线。方程为
此切线与x轴交点记作,它就是(2,4,1)给出的牛顿迭代法,由图2-3
看到牛顿法求根就是用切线近似曲线,切线与x轴交点xk+1作为方程f(x)=0
根x*的新近似。
根据定理2.3可以证明牛顿法是二阶收敛的,这就是定理4.1给出的结果,牛顿法由于收敛快,它是方程求根最常用和最重要的方法,在计算机上用牛顿法解方程的计算步骤:
算法如下:(牛顿法)
步0:
给初始近似,计算精度最大迭代步数N,0→k.
步1:计算f(x)→f,若,转步4,否则做
步2:计算,若y=0,转步4,否则
步3:若,步4,否则,若,转步4,否则转
步1
步4:打印x,f,y,k计算停止。
此算法给出了4个停止准则,保证计算在有限步结束,其中y=0及均属非正常结束,,说明用牛顿法求根得不到结果,步2中y=0实际使用时可改为
(可取)。计算例子见例2.6及例2.7,例2.7得到的计算的牛顿法程序(2.4.3)是计算机中计算开方的最有效算法,它对任意初值都能使序列
收敛于,且为平方收敛,一般只要迭代3-5次就可达到7-9位有效数字,因此计算量很省。
2.重根情形
当,则为方程(2.1.1)的重根,此时,
牛顿法的迭代函数,,故牛顿法仍收敛,但只是线性收敛.
若迭代函数改为,则,故迭代法
(2.4.5)
具有二阶收敛.
对重根还可构造另一种迭代法,令若是的m重根,则
所以是的单根,对它用牛顿法,迭代函数为
从而可构造迭代法
(2.4.6)
它也是二阶收敛的.
例3方程的根是二重根,试用牛顿法及(2.4.5)、(2.4.6)三种迭代法各计算3步.
解
方法(1):牛顿迭代,
方法(2):迭代法(2.4.5),
方法(3):迭代法(2.4.6),
三种方法均取=1.5计算结果如下:
方法(1)方法(2)方法(3)
1.458 333
333
1.436 607 143
1.425 497 619 1.416 666 667
1.414 215 686
1.414 213 562
1.411 764 706
1.414 211 438
1.414 213 562
方法(2)与方法(3)均达到精确度,而方法(1)只有线性收敛,要达到相同精度需迭代30次.
当x*是f(x)=0的重根时,用牛顿法计算,只有线性收敛,如果已知x*是m 重根则使用迭代法(2.4.5),否则可使用(2.4.6),见例4
3.离散牛顿法
求解方程的牛顿法(2.4.1)要计算,如果导数计算不方便,通常可用计算函数差商近似,即
将它代入式(2.4.1)则得离散牛顿法:
(2.4.7)
这种迭代法与式(2.2.2)不同,它要给出两个初始近似,才能逐次计算出.因此称为多点(两点)迭代,迭代(2.4.7)称为割线法,其几何意义是,
用曲线上两点的割线与x轴交点作为=0根的新近似,即
的根x,记作,它就是方程(2.1.1)根的新近似,如图2所示.