数值分析第七章 非线性方程与方程组的数值解法0607
- 格式:ppt
- 大小:1.41 MB
- 文档页数:45
数值分析第七章非线性方程的数值解法在数值分析中,非线性方程和非线性方程组的求解是非常重要的问题。
线性方程是指变量之间的关系是线性的,而非线性方程则指变量之间的关
系是非线性的。
非线性方程的数值解法是通过迭代的方式逼近方程的解。
非线性方程的求解可以分为两类:一元非线性方程和多元非线性方程组。
接下来,我们将对这两类方程的数值解法进行介绍。
对于一元非线性方程的数值解法,最常用的方法是二分法、牛顿法和
割线法。
二分法是一种直观易懂的方法,其基本思想是通过迭代将方程的解所
在的区间逐渐缩小,最终找到方程的解。
二分法的缺点是收敛速度较慢。
牛顿法是一种迭代法,其基本思想是通过选择适当的初始值,构造出
一个切线方程,然后将切线方程与x轴的交点作为新的近似解,并不断迭代,直到满足精度要求。
牛顿法的优点是收敛速度较快,但其缺点是初始
值的选择对结果影响很大,容易陷入局部极值。
割线法是对牛顿法的改进,其基本思想是通过选择两个初始值,构造
出一条割线,然后将割线与x轴的交点作为新的近似解,并不断迭代,直
到满足精度要求。
割线法的收敛速度介于二分法和牛顿法之间。
对于多元非线性方程组的数值解法,最常用的方法是牛顿法和拟牛顿法。
牛顿法的思想同样是通过构造切线方程来进行迭代,但在多元方程组中,切线方程变为雅可比矩阵。
牛顿法的优点是收敛速度快,但同样受初
始值的选择影响较大。
拟牛顿法是对牛顿法的改进,其基本思想是通过逼近Hessian矩阵来进行迭代,从而避免了计算雅可比矩阵的繁琐过程。
拟牛顿法的收敛性和稳定性较好,但算法复杂度相对较高。
1数值分析第七章第七章非线性方程求根一、重点内容提要(一)问题简介求单变量函数方程f(x)?0(7.1)f(x*)?0x*x*x*为也称为方程的根是指求(7.1).(实数或复数),使得称的根,m f(x)?(x?x*)g(x)f(x)f(x)函数的零点.若可以分解为g(x)g(x)?0x*x*为单称m=1满足时,是方程(7.1)的根.,则当其中m为正整数,g(x)x*x*是方程(7.1)的m称,充分光滑,为m重根.若重根,则有根;当m>1时(m?1)(m)f(x*)?f'(x*)?...?f(x*)?0,f(x*)?0f(x)f(a)f(b)?0,则方程(7.1)在(a,b)[a,b]若上连续且内至少有一个实根,称在[a,b]为方程(7.1)的有根区间.有根区间可通过函数作图法或逐次搜索法求得.(二)方程求根的几种常用方法1.二分法f(x)f(a)f(b)?0f(x)?0f(x)?0*x在上连续,再设内有根,则设.在(a,b)在[a,b]1x?(a?b)a?a,b?bf(x)f(x)?0000计算和.,若则(a,b)内仅有一个根.令20000a?xb?b[a,b])f(a)f(x?0x*?x;,则令,结束计算;若若得新的有根区间,10,11001a?ab?x0)?(f(a)fx,得新,则令的有根区间0110,0011b?a?(b?a)x?(a?b)[a,b][a,b]?[a,b]f(x)0101111再令计算,.,.同上法得221110101[a,b],如此反复进行出新的有根区间,可得一有根区间套22...?[a,b]?[a,b]?...?[a,b]001?n1?nnn2数值分析第七章11a?x*?b,n?0,1,2,...,b?a?(b?a)?...?(b?a)0n0?1nnn?1nn且. 221lim(b?a)?0,lim x?lim(a?b)?x* nnnnn故2????n??nn1x?(a?b)f(x)?0nnn的近似根,可作为,且有误差估计因此21(b?a)|x?x*|?n1?n(7.2)22.迭代法?(x?)x等价变形为将方程式(7.1) (7.3)??(x*)?)(xf(x*)?0x**xx*的一个不动点为函数.;反之亦然则.若要求称满足?(x)的不动点由式(7.3)产生的不动点迭代关系式(也求方程(7.1)的根等价于求称简单迭代法)为?(x),k?0,1,2...x?(7.4)k1?k?(x),k??x0,1,2...?(x)称为迭代函数.函数如果对任意,由式(7.4)产生的序列??x有极限kk??k则称不动点迭代法(7.4)收敛.kk?1x?x*lim?(x)?C[a,b]满足以下两个条件: 定理7.1(不动点存在性定理)设?(x)??b;x?[a,b]a有1.对任意??(y)|?|x?y|?,y[a,b]|(x)?x 2.存在正常数使对任意, ,都有(7.5)1?L?(x)[a,b]x*.则在上存在惟一的不动点?(x)?C[a,b]满足定理7.2(定理不动点迭代法的全局收敛性定理)设7.1中的两个??x]b,?x[a?(x)并条件,由,(7.4),的不动点式得到的迭代序列则对任意到.收敛k0有误差估计式3数值分析第七章L|x?*|?x||x?x1kkk?(7.6)L1?k L|x?x*|?|x?x|1?kkk L1?(7.7)和??'(xx))(xx**的某,为设在的不动点定理7.3(不动点迭代法的局部收敛性定理)?'(x)|?|1,则迭代法(7.4)局部收敛个邻域连续,且.?(xx?)x*,的根如果迭代误差收敛阶的概念设迭代过程(7.4)收敛于方程e?x?x*k??时成产下列渐近关系式当kk e k?1?C(常数C?0)e(7.8) k则称该迭代过程是p阶收敛的.特别地,p=1时称线性收敛,p>1时称超线性收敛,p=2时称平方收敛.(K)?(x)x*的邻近连续,并定理7.4(收敛阶定理在所求根)对于迭代过程(7.4),如果且(p?1)???(x*)?...?*)?'(x*)?0''(x(p)?(x*)?0(7.9)*x的邻近是收敛的,则该迭代过程在点并有e1)(p?1k?*)x?lim(p!ep??k (7.10)k斯蒂芬森(Steffensen)迭代法当不动点迭代法(7.4)只有线性收敛阶,甚至于不收敛时,可用斯蒂芬森迭代法进行加速.具体公式为??(y?)(x),zy?kkkk2)?x(y kk x?x?kk?1z?2y?x kkk k?0,1,2,...(7.11)4数值分析第七章此法也可写成如下不动点迭代式?(x),kx??0,1,2,...kk?12?)?x(x)(?(x)?x????(x)?2?(x(x))(7.12)?(x)x**x是为式(7.12)中则的不动点7.5(定理斯蒂芬森迭代收敛定理)设,?(x)???1*)''(x)?'(x(x)*x的不动点,存在,的不动点;设则,则斯蒂芬森迭代法是(7.11)是2阶收敛的.3.牛顿迭代法牛顿迭代法是一种特殊的不动点迭代法,其计算公式为f(x)k,x?k?0,1,2,...?x k?k1)xf'(其迭代函数为(7.13)k f(x)??(x)?x f'(x)f(x*)?0,f'(x*)?0,f''(x*)?0时牛顿迭代法的收敛速度当,容易证f''(x*)??0*)?''(x 0'(x*)?ff'(x*),由定理,明,7.4知,牛顿迭代法是平方收敛的,且ef''(x*)1?k?lim2*)f'(ex2??k(7.14)k f(x)?0(m?2)*x时,迭代函数的m重顿重根情形的牛迭代法当根是f(x)1??x)?(x?'(x*)?1??0?'(x*)|?1|)xf'(*x.所以牛顿迭代法求处的导数在,且m x*的重数m知道,重根只是线性收敛.若则迭代式f(x)k,k?0,1,2,...??xx?m kk?1)'(xf(7.15)k f(x)??x()f'(x)*x此时迭代式,的单重零点一定是函数,未知时m当.求重根二阶收敛5数值分析第七章?(x)f(x)f'(x)kkk?xx??x?kk?1k?)f''(x)x)]?f(x'(x)[f'(kkkk k?0,1,2,...(7.16)也是二阶收敛的.f(x)k,?k?0,1,2,...x?x k1k?)xf'(如下迭代法简化牛顿法0称为简化牛顿法或平行弦法.牛顿下山法为防止迭代不收敛,可采用牛顿下山法.具体方法见教材.4.弦截法f'(x)xxf(x)在,处的一阶差商来代替,将牛顿迭代法(7.13)中的即可得弦用kkk?1截法f(x)k(xx?x??x)1kk?1k?k f(x)?f(x)(7.17)??x*|:|x??*x内具有二阶连续导数,的邻域在其零点定理7.6假设且对任1kk?)(xfx,x??10f'(x)?0?x?,又初值,,意则当邻域充分小时,有弦截法(7.17)将按阶?1?5?p?1.6182???1?0?*x2的正根收敛到是方程..这里p5.抛物线法(x,f(x)),(x?f(x))两点的直线方程的根近似替弦截法可以理解为用过kk?1kk?1xxx0x)?(fx)?0f(用,过三若的根.已知个近似根,的2kk?1k?(x,f(x)),(x,f(x)),(x,f(x))f(x)?0的根,的抛物线方程的根近似代替2??k?k121k?kkk所得的迭代法称为抛物线法,也称密勒(Muller)法.f(x)f'(x*)?0*x,则抛物线法局部收敛当,在,的邻近有三阶连续导数且收敛阶p?1.839?1.84. 为数值分析第七章二、知识结构图三、常考题型及典型题精解3上有一个实根x*,并用二分法2]在[1,?1?例7-1 证明方程x0?x-6-3,需二分区间[1,2]10.若要求|x-x*|?求这个根,要求|x-x*|?10kk多少次?3在[1,2],则f(1)=-1<0,f(2)=5>0,故方程f(x)=0x?解设f(x)=x1?2在[1,2]时,f'(x)>0,即f(x)=0-1,所以当x?上有根x*.又因f'(x)=3x上有惟一实根x*.用二分法计算结果如表7-1所示.[1,2]7-1表k abxf(x)的符号kkkk+ 2 0 1 1.5- 1.5 1 1 1.25+ 2 1.25 1.51.3751.3125 3 1.251.375 -1.375 1.3438 1.3125 4 +1.312551.3282+1.1341.3125-861.32041.32041.32827-1.32431.32431.32821.3263+87数值分析第七章9 1.3243 1.3282 1.3253 +1.32631-3-3,可以作为x*的近??10此时x=1.3253满足|x-x*|?10?0.97799102似值.1-6?6,只需|x10-x*|?-x*|即可,解得k+1?19.932, 若要求|x?10?kkk+12即只需把[1,2]二分20次就能满足精度要求.x=1,(1)确定有根区间[a,b];(2)构造不动e例7-2 已知函数方程(x-2)点迭代公式使之对任意初始近似x?[a,b],迭代方法均收敛;(3)用所构0?3.|?10造的公式计算根的近似值,要求|x?x1k k?xx因此区间[2,3]0,e解 (1)令f(x)=(x-2)-1>-1,由于f(2)=-1<0,f(3)=e x x)=-1,f(,lim,lim f(x)=+?是方程f(x)=0的一个有根区间.又因f'(x)=(x-1)e???xx???1-1<0,当x>1时f(x)单增,x<1时f(x)单减,故f(x)=0在(-?,+?)内f'(1)=-e有且仅有一根x*,即x*?[2,3].x?xx?.由于当?将(x-2)e[2,3].则=1等价变形为x=2+ee(x)=2+,x(2)2??x??<1'(x)|=|-e?e[2,3]x?时2?|(x)?3,|x?[2,3]均收敛.??故不动点迭代法x=2+e x,k=0,1,2,...,对k0k+1x?进行迭代计算,结果如表7-2所示.e(3)取x=2.5,利用x=2+k k+10表7-28数值分析第七章此时x已满足误差要求,即x*?x?2.120094976.44例7?3考虑求解方程2cos x?3x?12?0的迭代公式2 x=4+cos x,k=0,1,2,...k k+13(1)试证:对任意初始近似x?R,该方法收敛;0-3;10-x|?(2)取x=4,求根的近似值x,要求|x k0k+1k+1(3)所给方法的收敛阶是多少?2?(x)=4+cos x,解 (1)由迭代公式知,迭代函数322?(x)的值域介于(4-)与(4+由于)之间,且(??,??).x?3322?'(x)|=|-sin x|??1|33?(x)在(??,??)内存在惟一的故根据定理7.1,7.2知,??收敛于x*.x?x?R,迭代公式得到的序列不动点x*,且对k0(2) 取x=4,迭代计算结果如表7-3所示.0表7-3x*?xx?3.347529903已满足误差要求,即此时55?'(x*)?0.136323129?0,故根据定理7 .4)由于(3知方法是线性收敛的,并e?1k?'(x?*)lim e??k。
1. 使用二分法求3250x x --=在区间[2,3]上的根,要求误差不超过30.510-⨯.解:首先确定二分次数,根据误差估计式得,取k=10即可。
使用二分法计算10次,结果见下表2. 利用0)ln(=+x x 构造收敛的迭代格式,并求在0.5附近的根.解 首先考虑迭代格式1ln ,0,1,2,...k k x x k +=-=,相应的迭代函数()ln ,x x ϕ=-容易计算'1()x xϕ=-,在0.5附近有 ''()2,()21x x ϕϕ≈-≈>.迭代格式1ln ,0,1,2k k x x k +=-=不收敛,利用上题结论,函数()ln x x ϕ=-的反函数1()x x e ϕ--=,建立迭代格式1,0,1,2,...,k x k x e k -+==取初值00.5x =,计算结果见下表:最后*180.5671408x x≈=3.求方程310x x--=在]2,1[上的唯一正根,精度410-解考虑函数3()1, f x x x=--显然(1)10,(2)50f f=-<=>,故在[1,2]上方程有根存在;另外'2()312,[1,2],f x x x=-≥∈因此在[1,2]上方程有唯一的根。
建立迭代格式1nx+=迭代函数()xϕ=在[1,2]上满足23'131()(1)3x xϕ-=+<根据收敛性定理,迭代格式1nx+=[1,2]x∈均收敛。
例如,取初值x=1.5,并计算结果如下:方程31x x--=0在[]1,2上的精确解是* 1.324718x=4.利用简单加速方法,求方程xx e-=在x=0.5附近得一个根,精度510-。
解考虑'(),()0.6x xx e x e Lϕϕ--==-=≈-.利用简单加速方法()1111111n nnn nL Lx xx x xϕ+++--⎧=⎪⎨=-⎪⎩得()1111 1.60.6nxnnn nx ex x x-+++⎧=⎪⎨=+⎪⎩取初值00.5x =,计算结果列表如下:5. 利用Newton 法解方程x=cosx ,取初值0x =1.解 考虑()cos f x x x =-,建立Newton 迭代格式:()()01'1,,0,1,2.....n n n n x f x x x n f x +=⎧⎪⎨=-=⎪⎩方程x=cosx 的精确解是*x =0.739 085 133……。
非线性方程组的数值解法
《非线性方程组的数值解法》是一个比较复杂的数学问题,它涉及到非线性方程组的求解。
非线性方程组的数值解法是指用数值方法来求解非线性方程组的近似解的方法。
非线性方程组的数值解法有很多种,其中最常用的有牛顿法、拟牛顿法、共轭梯度法等。
牛顿法是一种有效的非线性方程组求解方法,它的基本思想是通过迭代的方式,用近似的二次函数拟合原函数,求解近似解。
拟牛顿法是一种进一步改进的牛顿法,它通过迭代求解一系列近似解,从而求解非线性方程组。
共轭梯度法是一种求解非线性方程组的数值方法,它通过不断迭代,搜索最优解,从而求解非线性方程组。
非线性方程组的数值解法在工程中有着重要的应用,它可以用来求解复杂的非线性方程组,从而获得更准确的解。
因此,非线性方程组的数值解法是一个重要的数学工具,在工程中有着广泛的应用。