牛顿迭代法收敛定理
研究生数值分析(5)牛顿(Newton)迭代法

z
0.612547 0.641384 0.641186
6 求方程 m重根的Newton法 设 s 是方程 f(x)=0 的 m 重根(m≥2), f(x)
在 s 的某邻域内有m阶连续导数 ,这时
f (s) f (s) f (m1) (s) 0, f (m) (s) 0
由Taylor公式,得
设 f '(x) 0 ,上式解为
x
xk
f (xk ) f ' (xk )
于是方程 f(x)=0的新的近似根xk+1,可由牛顿
迭代公式
xk 1
xk
f (xk ) f ' (xk )
k 0,1, 2,
求出
牛顿迭代公式具有明显的几何意义。 方程 y f (xk ) f '(xk )(x xk ) 是曲线 y=f(x)在点 (xk , f (xk )) 处的切线方程,迭代公式就是切线与x轴 交点的横坐标。因此,牛顿迭代法又称为切线法。
这表明牛顿迭代法用于求单根时至少是二阶收敛的。
(2)若 x* 是方程 f (x) 0 的 m(m 2) 重根,
即
f (x) (x x*)m q(x)
(q(x*) 0)
此时有
g ' (x*) lim g ' (x) lim
x x*
x x*
f (x) f '' (x) [ f ' (x)]2
k
xk
k
xk
4 0.635498 8 0.640964
5 0.643719 9 0.641285
6 0.640061 10 0.641142
Newton法的局部收敛性

另外也可能不收敛, 或者不是收敛到离初值最近的根. 当然, 对于三次 函数, 除了个别点, 牛迭总是收敛到某个根的, 因为初值远离原点时由 于函数的单调性, 总会被拉回"局部".
事实上在复平面上三次函数的根的牛迭收敛行为是个著名的分形 ...足 见全局收敛性的复杂.
定义6.2
设迭代过程xk 1 ( xk )收敛于方程x ( x)的根x*, 如果迭代误差ek xk x*当k 时成立下列渐近关系式 ek 1 C (C 0为常数) p ek
具体来说
局部收敛性有如下定理 1.设已知 f(x) = 0 有根 a, f(x) 充分光滑(各阶导数存在且连续). 2.若 f'(a) != 0(单重零点), 则初值取在 a 的某个邻域内时, 迭代法 x[n+1] = x[n] - f(x[n])/f'(x[n]) 得到的序列 x[n] 总收敛到 a, 且收敛速度至少是 二阶的. 3.若 f'(a) == 0(多重零点), 则初值取在 a 的某个邻域内时, 收敛速度是 一阶的.
则称该迭代过程是p阶收敛的。特别地,p=1时称为线性收敛,p>1时 称为超线性收敛,p=2时称为平方收敛。
定理6.3
对于迭代过程xk 1 ( xk ), 如果 ( p ) ( x) 在所求根x*的邻近连续,并且
' * '' * ( p 1) ( x* ) 0, ( x ) ( x ) ... ( p) * ( x ) 0, 则该迭代过程在点x*邻近是p阶收敛的.
记 g(x)=x-f(x)/f'(x), 其中"某个邻域"可由 |g'(x)|<1 的区间确定, 但是 g'(a)==0, 所以这样的邻域总是能取到的. 说收敛速度是 r 阶指的是: 存在 r 及常数 c 使 lim_{n->\inf} |x[n+1]a|/|x[n]-a|^r = c 至于牛顿迭代法的全局收敛性, 一般的数值分析书都没有详细叙述, 而 只是举一些例子. 因为牛迭是否收敛依赖于函数是否"单调", 一些"曲折"大的函数就可能 使迭代法不收敛了.
牛顿迭代法及其改进方法的收敛性分析-毕业论文

【标题】牛顿迭代法及其改进方法的收敛性分析【作者】彭昌华【关键词】非线性方程牛顿迭代法高阶收敛性收敛阶【指导老师】周均【专业】数学与应用数学【正文】0 引言牛顿法又称牛顿——拉弗森( Newton __ Raphson )法或切线法,它是求解非线性方程的零点的一种迭代法,即牛顿迭代法.一般地,该实值函数在实零点的邻域内连续可导,并且 0,当是的近似值时,若在点( , )处作切线, = + ( ) (0-1) 近似代替 ,再以的零点 = - ( =1,2, ) (0-2) 作为的新的近似值,这即是牛顿法.牛顿法是教学科研以及工程技术中的常用数值方法.一般地,牛顿法具有局部二阶收敛性.1 预备知识为了研究牛顿迭代法及其改进方法的收敛性,则需给出与之相关的理论.[1]-[13] 定义1 局部收敛性设是 =0的根,若存在的一个邻域(x*- , x*+ ),当迭代初值 (x*- , x*+ )时,迭代法得到的序列收敛到 ,则称该迭代法关于根具有局部收敛性.定义2 收敛速度设为第次迭代值, 是方程 =0的根,令 = - 且假设迭代收敛,即 = , 若存在实数≥1,使得 .则称此方法于根具有阶收敛速度,c为渐近误差常数.特别地,当 =1时,称为线性收敛;当 >1时,称为超线性收敛. =2时,称为平方收敛.渐近误差常数c与有关,c≠0保证了的唯一性.一般情况下,越大收敛速度就越快.高阶收敛定理对于迭代过程 = ( ) ,若迭代函数在所求根的邻近有连续的阶导数,且满足条件:ⅰ: ;ⅱ: = = = = =0,且 0;则必存在的某个邻域 ,使得对任意初始值 ,迭代过程 = ( )为阶收敛.由此表明:迭代过程的收敛速度取决于迭代函数的选取,且当 0,该迭代过程只可能是线性收敛.牛顿迭代法的局部收敛性定理设是满足 =0,≠0,在的邻域上连续,则牛顿迭代式(0-2)在点具有局部收敛性,且至少平方收敛.牛顿迭代法收敛的充分条件定理1:设函数满足 =0,≠0,在的邻域内有二阶连续导数,则当初值足够接近于时,由迭代公式(0-2)所得的序列至少是二阶收敛的,并有 =由此我们可知,当是单根的时候,牛顿法至少是局部二阶收敛的.但是,对其收敛条件在的邻域内有二阶连续导数是一个限制性很强的条件,我们能否在较弱的条件下仍能得出相同或相仿的结论?下面将给出牛顿迭代法在较弱的条件下的局部收敛性,并加以证明.2、弱条件下的牛顿迭代法的收敛性2.1 减弱条件一将在的邻域上连续减弱为存在,仍能保证其迭代法至少是局部二阶收敛性. 定理2 设函数满足 =0,≠0,存在,则当初值足够接近于时,由迭代公式(0-2)所得的序列至少是二阶收敛的,并有 =证明:不妨考虑因为存在,则由Peano余项的Taylor公式展开得= + /2+0( )= + +0由迭代公式(0-2)得,=()-即 =()-== .==故结论得证.2.2减弱条件二将存在减弱为在的邻域内存在且满足中心李普希兹条件也即是:存在L>0,使得≤L ,仍能保证牛顿法至少是局部二阶收敛性.定理3 设函数满足 =0,≠0,在的邻域内存在,且有L>0,使得≤L ; 则当初值足够接近于时,由迭代公式(0-2)所得的序列至少是二阶收敛的.证明: 当初值足够接近于时,由迭代公式(0-2)所得=()-==[ ]-1[ - ]这里在与之间,所以≤又由题意:≤L所以≤L由此可得,当初值足够接近于时,由迭代公式(0-2)所得的序列至少是二阶收敛的.2.3 实例分析利用牛顿迭代公式(0-2) 数值求解非线性方程 =0的根, ,并考虑牛顿法的局部二阶收敛性.例1: = ,[a, b]=[0,1.5],则 =1解: = , = ,由此可得, 0,在的邻域内连续,则满足定理1 的条件,即牛顿法具有局部二阶收敛性.例2: 设 = ,[a, b]=[-1,1], 则 =0解: = ,=这里, 0,存在,但在的邻域内不连续,故由定理2知,牛顿法是二阶收敛的. 例3: 设,[ a, b ]=[-1,1],则 =0解:这里 =2 0,不存在,不满足对的邻域内任意,,有<α ,但满足,存在L>0,使得≤L .故由定理3知牛顿迭代法是二阶收敛的.3、重根情形下牛顿法的收敛性由定理1 知,如果是 =0的单根,则牛顿迭代法有局部收敛性,如果是 =0的m 重根(m≥2)时,无论怎样选取迭代函数即使迭代收敛也至多是线性收敛.3.1 运用牛顿迭代法的收敛性一般地说,设是 =0的重根( ≥2),又由重根的定义即 = ,≠0,有二阶导数,它的迭代函数 = - ,易得出 =1- .由此,0< <1,由(0-2)知,只有≠0,则牛顿迭代法是线性收敛的,于是我们可得到如下定理:定理4 如果是方程 =0的重根( ≥2),在的某邻域内有阶连续导数,则牛顿法具有局部收敛性,且有线性收敛速度.证明:令 = - ,则 = ,对以及在处作Taylor展开,得 = + -= + - (0< , <1)当→0,→ ,则 ===1-即 <1故由局部收敛性的定义知,牛顿法是收敛的.下面证明它的收敛速度:设是方程 =0的重根( ≥2),则可表示为 = ,≠0,于是, = += [ ]又由牛顿迭代格式(0-2)得,= -=( )[1- ]故 = =1-因为 m>1, 所以 0<1- =c<1故牛顿迭代对重根是线性收敛的.3.2 运用修正牛顿迭代法的收敛性如果是已知时,即:知道重根的重数,则可采用修正牛顿迭代公式 = - ,使该迭代达到二阶收敛速度.即我们有如下定理:定理5 如果是方程 =0的重根( ≥2),在的某邻域内具有阶连续导数,则修正牛顿迭代公式 = - 具有局部收敛性且具有二阶收敛速度.证明:令 = - ,运用类似定理4的方法,即由条件,及在的Taylor展开,得 = + -= + - (0< , <1)= + -==又由 =0,所以 =0故牛顿迭代法具有局部收敛性.下面证明其二阶收敛速度由迭代公式(0-2)得, = +即() =() +令 =() + ,则 =() + -因为是方程的重根,故 =0 ( =1,2, , )所以 =() + - =0 ( =0.1,2, , )=() - -( )=-则 = 是与之间的某值又 = 是与之间的某值= =即 ==- ,故该牛顿迭代具有二阶收敛速度.当重数未知时,设是 =0的重根,则 = , ≠0,令 = ,则有 = ,即是的单根,则由定理1可得,迭代公式 = -= - ( )是二阶收敛的.3.3 数值实验例子以文献[3]中习题为例,方程有二重根 =1,取 =2,用牛顿迭代公式 (0-2) 和处理重根的修正牛顿迭代公式: = - ,()为重根的重数,分别求解几步,比较结果.解:即是方程的二重根利用数值实验比较:牛顿法修正牛顿法0 2 21 1.6 1.22 1.347368421 1.0947368423 1.193516664 1.0396649064 1.104014285 1.0145119065 1.054346842 1.0046793996 1.027856159 1.0013654767 1.01411429 1.0003724218 1.007105916 1.0000975419 1.003565448 1.00002498110 1.001785885 1.00000632211 1.000893738 1.0000015912 1.000447068 1.00000039913 1.000223584 1.000000114 1.000111805 1.00000002515 1.000055905 1.00000000616 1.000027953 1.00000000217 1.000013977 118 1.000006989 119 1.000003494 120 1.000001747 1由上述实验知:修正牛顿迭代法的迭代次数比牛顿迭代法的迭代次数要少,也即是说修正牛顿迭代法的收敛速度比牛顿迭代法的收敛速度要稍快一些.4 牛顿迭代的改进方法的收敛性对于牛顿迭代公式(0-2),在计算过程中每一步都要计算导数,为了减少计算量,我们用和处差商代替导数, = =得到 = - () (4-1) 此方法称为弦割法.与牛顿法不同的是,它需要两个较好的初值,,这两个初始值应尽量取在方程 =0的根的附近.弦割法也具有局部收敛性,且收敛速度介于二次收敛和线性收敛之间,即弦割法是超线性收敛的.以下将给出定理并证明.定理6 设,,在包含 =0的根的区间上连续且是其单根, 0,则如果初始值和,选得充分接近,由式(4-1)产生的序列收敛于,收敛的阶 = 且 = 证明:由公式(4-1)得,两边同时减去,利用均差的记号和性质,=()-=()-=( )= (4-2)又因为连续,则有包含在 = , = ,其中在,之间,包含在,,的最小区间上.记: = ,则(4-2)式可以写成 == ,这里假设 = , <1当时,有 =0又因为0 ,所以 0,即收敛到以下讨论的收敛阶由,令 = ,则,,(4-3)得,即,,由(4-3)式得, ,一般地,由归纳法得到,,,其中 = =1.有以下递推关系:= + ,,(4-4)这样的称为Fibonacci数列.式(4-4)是二阶线性齐次差分方程.可设 = ,则满足 = +1,解出 = , = ,可以写成和的线性组合,利用 = =1得, = ,当大时,,,令 = ,当大时有 , ,,故有,,当时,有 = ,即因为 0,所以弦割法是收敛的.故结论得证.5 牛顿法的收敛阶牛顿法对于求非线性方程的单根和重根时的收敛速度可以根据前面已经讨论的方法来判断,那么接下来我们将从另一个角度来分析它的收敛速度.即通过实例从数值实验上来估计牛顿迭代收敛的大致数值.例:以例1为例 = ,[a, b]=[0,1.5] ,则由牛顿迭代公式可得 = - = ,显然 =1是它的不动点.现在假设不知道它的收敛阶,则可设计一个数值实验估计它的收敛阶数.解: 假设它的收敛阶为 ,则应当存在常数>0使得 (5-1) 成立,当>>1时(5-1)可以,近似地写成 ,再两边取对数得到 (5-2). 则(5-2)指出与之间应当近似地有线性关系, 和之间直线的斜率正好是 .取初值 =0.5,用excel迭代k 0 1 2 3 4x* 1xk 0.5 0.833333333 0.976190476 0.99944629 0.999999694|x(k)-x*| 0.5 0.166666667 0.023809524 0.00055371 3.06425E-07|x(k+1)-x*| 0.166666667 0.023809524 0.00055371 3.06425E-07 9.39249E-14 Ln|(x(k)-x*)| -0.693147181 -1.791759469 -3.737669618 -7.498869734-14.99829302Ln|(x(k+1)-x*)| -1.791759469 -3.737669618 -7.498869734 -14.99829302-29.99628121下面用最小二乘法拟合来确定和即得到它的收敛阶. (令 = , = )k 1 2 3 4 5 对每行求和-0.69314718 -1.79175947 -3.737669618 -7.498869734 -1.50E+01 -28.719739 ( )^20.480453015 3.210401998 13.97017417 56.23304729 224.9487929 298.8428694-1.79175947 -3.737669618 -7.498869734 -1.50E+01 -3.00E+01 -58.02458003 ( )* ( |)1.241953025 6.697004934 28.02829757 1.12E+02 449.8930145 598.343316则得到的法方程组为 = ,通过最后计算得 = 1.979808375 =-0.233000048由于误差的原因,则 2,即该牛顿迭代的收敛阶为2,也即该牛顿迭代具有二阶收敛性.6:总结本文主要对牛顿迭代法的收敛性进行分析.即主要对其收敛条件、重根情形下牛顿迭代法的收敛性、改进牛顿法的收敛性以及从数值上去估计牛顿迭代的收敛阶等进行分析.将其收敛条件进行不同层次的减弱,通过理论证明仍能得到其牛顿迭代法的局部收敛性;对重根情形,当重数是已知时,运用牛顿迭代法和修正牛顿迭代法,以实际例题进行分析得出:修正牛顿法的收敛速度较牛顿迭代法快一些.当重数未知时,给出一个定理,并得出牛顿迭代具有二阶收敛速度; 还给出牛顿法的另一改进方法—弦割法的收敛定理,得出弦割法具有超线性收敛速度;在分析牛顿迭代法的收敛速度的基础上,从另一个角度即通过具体的数值实验上估计牛顿迭代法的收敛阶.。
牛顿迭代收敛条件

牛顿迭代收敛条件
牛顿迭代法是一种求解方程近似解的方法,具有高精度和快速收敛的特点。
但是,在使用牛顿迭代法时需要满足一定的收敛条件,否则可能无法达到预期的效果。
牛顿迭代收敛条件包括两个方面:一是函数的连续性,二是函数的导数连续且非零。
具体而言,如果函数f(x)在区间[a,b]内连续,并且在[a,b]内存在一点x0,满足f(x0)=0且f'(x0)≠0,则可以使用牛顿迭代法求解方程f(x)=0的解。
此外,为了保证牛顿迭代法的收敛性和稳定性,还需要注意以下几点:
1. 初始值选择:初始值的选取对于牛顿迭代法的收敛速度和精度有着重要的影响,一般应选择在函数零点附近的点作为初始值。
2. 迭代次数:牛顿迭代法的迭代次数一般需要根据实际情况进行调整,以保证迭代收敛速度和精度。
3. 迭代过程中的截断误差控制:当迭代过程中出现截断误差时,需要采取相应的措施进行调整,以保证迭代的收敛性和稳定性。
综上所述,牛顿迭代收敛条件是保证牛顿迭代法能够准确快速求解方程近似解的基本保障。
在实际应用中,需要根据具体问题进行调整,以保证求解的效果和精度。
- 1 -。
牛顿迭代法

xn
x exp(x)-1 1 0 -1 0 0.5 x 1
(n = 0, 1, · · · · · )
f=inline('x*exp(x)-1'); f1=inline('(x+1)*exp(x)'); x0=0.5;er=1;k=0; while er>0.00001 x=x0-f(x0)/f1(x0); er=abs(x-x0) x0=x;k=k+1 end
( x ) f ( x ) f ( x ) /[ f ( x )] 0
* * * * 2
f ( x ) ( x ) * f (x )
* *
所以, Newton迭代法至少平方收敛。
9/26
例2. 求 f(x)=xex – 1= 0 在 x0=0.5 附近的根 解: f ( x) (1 x)e x 迭代格式为
收敛到的牛顿迭代初值点集合收敛到的牛顿迭代初值点集合收敛到的牛顿迭代初值点集合2526由于现代意义上的标准化是在资本主义企业里发展起来的资本家所关心的是标准化的应用效果不可能支持企业里的标准化工作者去从事理论研究
牛顿(Newton)迭代法 平方根算法求 初值: x1=1.5
(n = 1,2,· · · · · )
17/26
f ( x1 ) x2 x1 ( x1 x0 ) f ( x1 ) f ( x0 ) f ( xn ) xn 1 xn ( x n x n 1 ) f ( x n ) f ( x n 1 ) ( n =1,2,· · · · · · ·)
例2.8 确定悬链线方程
newton迭代法的收敛阶

newton迭代法的收敛阶
通过一定的迭代公式得到x(k+1)=g(xk),若记ek=|xk-x*|,其中
x*是f(x)=0的根。
ek就是度量迭代序列{xk}与真解之间的距离,ek=0表示已经得到真解。
f(x)满足一定的条件,则{xk}二次收敛到x*,大致上说就是
ek约为e(k-1)^2,这是一个收敛很快的方法。
因为你想,比如e1=0.1,则e2约为0.01,e3约为10^(-4),
e4约为10^(-8),e5约为10^(-16),只需几步迭代就能得到解的一个有效位数大约是
16位的近似解,收敛很快的。
牛顿迭代法公式:
k=(G+G动)/n。
牛顿迭代法(Newton'smethod)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphsonmethod),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。
实数,是有理数和无理数的总称。
数学上,实数定义为与数轴上的实数,点相对应的数。
实数可以直观地看作有限小数与无限小数,实数和数轴上的点一一对应。
但仅仅以列举的方式不能描述实数的整体。
实数和虚数共同构成复数。
牛顿迭代法原理

牛顿迭代法原理牛顿迭代法是一种用来求解方程近似解的方法,它是由伟大的数学家牛顿提出的。
牛顿迭代法的原理非常简单,但却非常有效,被广泛应用于科学计算、工程技术和金融领域。
本文将详细介绍牛顿迭代法的原理及其应用。
首先,我们来看一下牛顿迭代法的基本思想。
对于一个函数f(x),我们希望找到它的根,即找到使得f(x)=0的x值。
假设我们已经有一个近似解x0,我们希望通过一些计算,得到一个更接近真实根的近似解x1。
那么,牛顿迭代法的思想就是利用函数f(x)在点x0处的切线来逼近真实根的过程。
具体来说,我们可以通过切线与x轴的交点来得到新的近似解x1,然后以x1为起点,再次利用函数f(x)在x1处的切线来得到更接近真实根的近似解x2,如此循环下去,直到满足我们的精度要求为止。
接下来,我们来具体推导一下牛顿迭代法的数学原理。
假设我们要求解方程f(x)=0,我们已经有一个近似解x0,那么我们可以利用函数f(x)在点x0处的切线来得到新的近似解x1。
根据切线的定义,我们可以得到切线方程为:f'(x0)(x-x0) + f(x0) = 0。
其中f'(x0)表示函数f(x)在点x0处的导数。
由于我们希望找到使得f(x)=0的x 值,因此我们可以将上述方程改写为:x = x0 f(x0)/f'(x0)。
这就是牛顿迭代法的迭代公式。
通过不断地使用这个迭代公式,我们可以逐步逼近真实根,直到满足我们的精度要求为止。
牛顿迭代法的收敛性是其最重要的性质之一。
在一定的条件下,牛顿迭代法可以保证收敛到方程的根。
具体来说,如果我们选择一个足够接近真实根的初始值x0,并且函数f(x)在x0附近具有连续的一阶导数,那么牛顿迭代法就可以保证收敛到方程的根。
这使得牛顿迭代法成为了一种非常有效的求解方程近似解的方法。
除了求解方程的近似解外,牛顿迭代法还被广泛应用于优化问题和数值微分方程的求解中。
在优化问题中,我们可以利用牛顿迭代法来求解函数的极值点,从而得到最优解。
第二节_牛顿迭代法

标即为 xk 1 。 y
( x0 , f ( x0 ))
1 m 2时,1 0 m
由定义1
该迭代法对 m( 2)重根是线性收敛的
例4.
设f (a) 0, 且f (a) 0, 证明迭代法
xk 1 xk f ( xk ) f ( xk )
至少是平方收敛的
注意例4与例3的迭代法是相同的,两例有何区别? 证明: 令
( x) x
lim x n 注意到ξn 在xn 及x*之间,及 n
x n1 x* x n x*
2
x*
,故
f" ( n ) f " ( x* ) * 2 f ' ( xn ) 2 f' ( x )
0(二阶收敛)若 f "( x* ) 0 0(大于二阶收敛)若 f "( x* ) 0
Newton迭代公式是一种特殊的不动点迭代,其 迭代函数为: f ( x) ( x) x f '( x )
•
• Newton迭代是局部线性化方法,它在单根附近 具有较高的收敛速度.
• 方法有效前提: f ( xk ) 0
牛顿迭代法的优缺点
优点: 在单根附近, 牛顿迭代法具有平方收敛的速
显然, p越大, 收敛速度也就越快
那么, 如何确定 p , 从而确定收敛阶呢?
如果迭代函数 ( x )在精确解x * 处充分光滑, 即处处可导
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于牛顿迭代法的课程设计实验指导非线性方程(或方程组)问题可以描述为求 x 使得f (x ) = 0。
在求解非线性方程的方法中,牛顿迭代法是求非线性方程(非线性方程组)数值解的一种重要的方法。
牛顿是微积分创立者之一,微积分理论本质上是立足于对世界的这种认识:很多物理规律在微观上是线性的。
近几百年来,这种局部线性化方法取得了辉煌成功,大到行星轨道计算,小到机械部件设计。
牛顿迭代法正是将局部线性化的方法用于求解方程。
一、牛顿迭代法及其收敛速度牛顿迭代法又称为牛顿-拉夫逊方法(Newton-Raphson method ),是一种在实数域和复数域上通过迭代计算求出非线性方程的数值解方法。
方法的基本思路是利用一个根的猜测值x 0做初始近似值,使用函数f (x )在x 0处的泰勒级数展式的前两项做为函数f (x )的近似表达式。
由于该表达式是一个线性函数,通过线性表达式替代方程中的求得近似解x 1。
即将方程f (x ) = 0在x 0处局部线性化计算出近似解x 1,重复这一过程,将方程f (x ) = 0在x 1处局部线性化计算出x 2,求得近似解x 2,……。
详细叙述如下:假设方程的解x *在x 0附近(x 0是方程解x *的近似),函数f (x )在点x 0处的局部线化表达式为)()()()(000x f x x x f x f '-+≈由此得一次方程 0)()()(000='-+x f x x x f求解,得 )()(0001x f x f x x '-= 如图1所示,x 1比x 0更接近于x *。
该方法的几何意义是:用曲线上某点(x 0,y 0)的切线代替曲线,以该切线与x 轴的交点(x 1,0)作为曲线与x 轴的交点(x *,0)的近似(所以牛顿迭代法又称为切线法)。
设x n 是方程解x *的近似,迭代格式)()(1n n n n x f x f x x '-=+ ( n = 0,1,2,……) 就是著名的牛顿迭代公式,通过迭代计算实现逐次逼近方程的解。
牛顿迭代法的最大优点是收敛速度快,具有二阶收敛。
以著名的平方根算法为例,说明二阶收敛速度的意义。
例1.已知4.12≈,求2等价于求方程f (x ) = x 2 – 2 = 0的解。
由于x x f 2)(='。
应用牛顿迭代法,得迭代计算格式)/2(211n n n x x x +=+,(n = 0,1,2,……) 取x 0= 1.4为初值,迭代计算3次的数据列表如下图1 牛顿迭代法示意图其中,第三栏15位有效数是利用MA TLAB 的命令sqrt(2)计算结果。
观察表中数据,第一次迭代数据准确到小数点后四位,第二次迭代数据准确到小数点后八位,……。
二阶收敛速度可解释为,每迭代一次,近似值的有效数位以二倍速度递增。
对于计算任意正数C 的平方根,牛顿迭代法计算同样具有快速逼近的性质。
二、牛顿迭代法的收敛性牛顿迭代法在使用受条件限制,这个限制就是通常所说的牛顿迭代法的局部收敛性。
定理 假设f (x )在x *的某邻域内具有连续的二阶导数,且设f (x *)=0,0)(*≠'x f ,则对充分靠近x *的初始值x 0,牛顿迭代法产生的序列{x n }收敛于x *。
下面例子是牛顿迭代法不收敛的反例。
反例说明,牛顿迭代法局部收敛性要求初始点要取得合适,否则导致错误结果。
例2用牛顿迭代法解方程 f (x ) = x 3 – x – 3 = 0。
分析:利用MA TLAB 求多项式零点命令roots(p),计算得三次方程的三个根如下表1为了使用牛顿迭代法计算,对于 f (x ) = x 3 – x – 3 ,首先求导数,得13)(-='x x f 。
取x 0 = 0和x 0 = 1取分别用牛顿迭代法计算,得对于迭代初值取x 0=0,0附近,算法将陷入死循环。
图2 牛顿迭代法初值不收敛示意图而迭代初值取x 0=1,可以使牛顿迭代法得到收敛。
三、特殊代数方程的牛顿迭代法收敛区域将牛顿迭代法用于求解高阶代数方程时,首先回顾一个代数基本定理,即“一个n 阶多项式在复数域内有n 个根”。
根据牛顿迭代法的局部收敛性质,任意取一个数据做为牛顿迭代的初值,可能导致迭代不收敛,即使这一个初值可以使迭代法收敛,下一个有趣的问题是“迭代序列将收敛于哪一个根”,其规律如何?例3牛顿迭代法的收敛区域问题:Newton 迭代法可以用于求解复数方程 z 3 – 1 = 0,该方程在复平面上三个根分别是11=z ,i z 23212--=,i z 23213+-= 选择中心位于坐标原点,边长为4的正方形内的任意点作初始值,进行迭代,将不收敛的点定义为第一类,给它们标一种颜色;再把收敛到三个根的初值分为三类,并分别标上不同颜色。
对充分多的初始点进行实验,绘出牛顿迭代法对该方程的收敛域彩色图。
图3 牛顿迭代法收敛区域色图问题分析:记f (z ) = z 3 – 1,则23)(z z f =',所以牛顿迭代公式为 3/)/1(21n n n n z z z z --=+由于牛顿迭代法的二阶收敛速度,对于一个取定的初值z 0,如果z 0是一个可以导致迭代收敛的初值,则迭代10次已经达到足够精度,故可以取迭代次数为10。
考虑以坐标原点为中心的正方形区域}22,22|),{(≤≤-≤≤-=y x y x Ω取步长h =0.02,在区域内取离散网格点⎩⎨⎧⨯+-=⨯+-=h k y h j x kj 22,( j ,k =0,1,…,200) 由此可以构造出规则的复数z jk = x j + i y k ,( j ,k =0,1, (200)对于这些点,逐一用牛顿迭代法取初值进行迭代实验,判断是否收敛?如果收敛,到底以该点为初值的迭代序列收敛到哪方程的一个根?为了记录实验结果,构造四个阶数均为201×201矩阵:Z 0、Z 1、Z 2、Z 3,开始时这四个矩阵都设为全零矩阵。
如果以z jk 为初值的迭代实验结果是不收敛,则将Z 0的第j 行第k列的元素改写为1;如果以z jk为初值的迭代实验结果是收敛到第一个根,则将Z1的第j行第k列的元素改写为1;如果以z jk为初值的迭代实验结果是收敛到第二个根,则将Z2的第j行第k列的元素改写为1;如果以z jk为初值的迭代实验结果是收敛到第三个根,则将Z3的第j行第k列的元素改写为1。
首先分析矩阵Z0的数据,由于该矩阵在开始时刻为全零矩阵,而在迭代实验结束后,不收敛的点对应元素被改写为“1”。
所以,矩阵的元素只可能是“0”或“1”,根据该矩阵的全部的非零元素所在的位置可以使用MA TLAB的图形绘制命令spy()或pcolor()等显示出一个特殊的图形。
根据Z0数据绘的图形如下所示图4 牛顿迭代法不收敛区域色图导致牛顿迭代法不收敛的初始点所形成的平面点集是一个著名的集合,称为茹莉亚集(为纪念法国女数学家茹莉亚而命名)。
为了得到全局的收敛或不收敛情况,需要对四个矩阵进行叠加。
如果直接相加将导致一个全“1”矩阵,不可能得出希望的结果。
故,对矩阵做如下组合处理,令Z = Z0 + 2Z1 + 3Z2 + 4Z3则矩阵Z的元素由“1”、“2”、“3”、“4”这四个元素组成。
该矩阵的某一位置上数据为“1”,说明这一位置上的复数做初值导致牛顿迭代法不收敛;位置上数据为“2”,说明这一位置上的复数做初值导致牛顿迭代法收敛到第一个根;位置上数据为“3”,说明这一位置上的复数做初值导致牛顿迭代法收敛到第二个根;位置上数据为“4”,说明这一位置上的复数做初值导致牛顿迭代法收敛到第三个根。
所以该矩阵包含了矩阵区域内离散点集合做为牛顿迭代法收敛实验结果的全部信息。
将这一矩阵用MA TLAB作图命令pcolor()作用,将绘出图3所示的收敛区域色图。
导致牛顿迭代法收敛到第一个根的初始点所形成的平面点集,可以根据Z1数据绘图形四、关于实验的注记1.MA TLAB相关命令介绍(1)求多项式零点命令roots()该命令用于求多项式P(x) = a1x n + a2 x n-1 + …+ a n x + a n+1的全部零点。
例如z3– 1 = 0的三个零点,只需用命令:roots([1 0 0 -1]),可得ans =-0.5000 + 0.8660i-0.5000 - 0.8660i1.0000(2)绘伪彩色图命令pcolor()该命令主要用于绘制矩阵色图,根据矩阵中元素数据的大小不同绘不同颜色。
常常与命令shading interp结合使用效果会更好。
在MATLAB命令窗口中键入help pcolor,可获得英文帮助信息。
2. 例题3所用MA TLAB 程序及注释:X=roots([1,0,0,-1]); %利用MATLAB 命令求三次方程的根r1=X(1);r2=X(2);r3=X(3);h=0.02;N=1+4/h; %确定网格步长及网格点规模z0(N,N)=0;z1=z0;z2=z0;z3=z0; %定义四个大矩阵为全零矩阵t=(-2:h:2)+eps;[x,y]=meshgrid(t); %确定网格点坐标z=x+y*i;for j=1:Nfor k=1:Np=z(j,k); %提取迭代初始点for n=1:10p=p-(p-1/p^2)/3; %牛顿迭代操作endif abs(p-r1)<0.01z1(j,k)=1; %确定收敛到第一个根的初始点elseif abs(p-r2)<0.01z2(j,k)=1; %确定收敛到第二个根的初始点elseif abs(p-r3)<0.01z3(j,k)=1; %确定收敛到第三个根的初始点elsez0(j,k)=1; %确定不收敛的初始点endendendZ=z0+2*z1+3*z2+4*z3;figure(1)pcolor(x,y,Z),shading interp %绘牛顿迭代法收敛域figure(2)pcolor(x,y,z0),shading interp %绘牛顿迭代法不收敛域课程设计实验题目1.牛顿迭代法解复方程z n + 1 = 0的收敛域问题。
实验目的:了解Newton 迭代法解复方程z n + 1 = 0(n ≥3)时收敛域的结构。
实验原理:Newton 迭代法可以用于求解复数方程z n + 1 = 0,例如对 z 6 + 1 = 0,该方程在复平面上六个根分别是i z 21231+-=,i z 21232--=,i z =3, i z -=4,i z 21235+=,i z 21236-= 选择中心位于坐标原点,边长为4的正方形(或半径为4的圆)内的任意点作初始值进行迭代,将不收敛的初值点归为第一类,再把收敛到六个根的初值归为另外六类,分别以不同颜色做图。