您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第七章 非线性方程与方程组的数值解法-1
1第7章非线性方程与方程组的数值解法27.1方程求根与二分法7.2不动点迭代法及其收敛性7.3迭代法收敛的加速方法7.4Newton法7.5弦截法与抛物线法7.6求根问题的敏感性与多项式的零点7.7非线性方程组的数值解法37.1方程求根与二分法7.1.1引言0)(xf(1.1)本章主要讨论单变量非线性方程的求根问题,这里].,[)(,RbaCxfx一类特殊的问题是多项式方程),0()(01110aaxaxaxaxfnnnn(1.2)的求根问题,其中系数为实数.),,1,0(niai4方程的根,又称为函数的零点,它使,若可分解为0)(xf*x)(xf0*)(xf)(xf),(*)()(xgxxxfm其中为正整数,且m.0*)(xg当时,称为单根,若称为(1.1)的重根,或为的重零点.1m*x1m*xm*x)(xfm若是的重零点,且充分光滑,则*x)(xfm)(xg.0*)(,0*)(*)(*)()()1(xfxfxfxfmm当为代数多项式(1.2)时,根据代数基本定理可知,次方程在复数域有且只有个根(含复根,重根为个根).)(xfmmnn时方程的根是大家熟悉的,时虽有求2,1n4,3n5根公式但比较复杂,可在数学手册中查到,但已不适合于数值计算,而时就不能用公式表示方程的根.5n通常对的多项式方程求根与一般连续函数方程(1.1)一样都可采用迭代法.3n迭代法要求先给出根的一个近似,若且,根据连续函数性质可知在内至少有一个实根,这时称为方程(1.1)的有根区间.通常可通过逐次搜索法求得方程(1.1)的有根区间.*x],[)(baCxf0)()(bfaf0)(xf),(ba],[ba例1求方程的有根区间.077.418.381.11)(23xxxxf解根据有根区间定义,对的根进行搜索计算,结果如下:0)(xf6的符号)(6543210xfx由此可知方程的有根区间为].6,5[],4,3[],2,1[77.1.2二分法考察有根区间,取中点将它分为两半,假设中点不是的零点,然后进行根的搜索.],[ba2/)(0bax0x)(xf检查与是否同号,如果确系同号,说明所求的根在的右侧,这时令;否则必在的左侧,这时令.见图7-1.)(0xf)(af*x0xbbxa101,*x0x011,xbaa图7-18不管出现哪一种情况,新的有根区间的长度仅为的一半.],[11ba],[ba对压缩了的有根区间又可施行同样的手续,即用中点将区间再分为两半,然后通过根的搜索判定所求的根在的哪一侧,从而又确定一个新的有根区间,其长度是的一半.1x],[11ba2/)(111bax],[11ba],[22ba],[11ba如此反复二分下去,即可得出一系列有根区间,],[],[],[],[2211kkbabababa其中每个区间都是前一个区间的一半,因此的长度],[kkbakkkabab2/)(当时趋于零,就是说,如果二分过程无限地继续下去,这些区间最终必收缩于一点,该点显然就是所求的根.k*x9每次二分后,设取有根区间的中点],[kkba2/)(kkkbax作为根的近似值,则在二分过程中可以获得一个近似根的序列,,,,,210kxxxx该序列必以根为极限.*x由于,2/)(2/)(*1kkkkababxx(1.3)只要二分足够多次(即充分大),便有k,*kxx这里为预定的精度.10例2求方程01)(3xxxf在区间内的一个实根,要求准确到小数点后第2位.]5.1,0.1[解这里,而5.1,0.1ba0)(,0)(bfaf取的中点,将区间二等分,由于,即与同号,故所求的根必在右侧,这时应令,而得到新的有根区间],[ba25.10x0)(0xf)(0xf)(af*x0x5.1,25.1101bbxa].,[11ba如此反复二分下去,按误差估计(1.3)式,欲使,005.021212/)(2/)(*11kkkkkababxx11只需,即只要二分6次,便能达到预定的精度.6k计算结果如表7-1.3242.13203.063203.13281.153281.13438.143438.13125.133125.1375.12375.125.1125.15.10.10)(17符号表kkkkxfxbak12二分法是计算机上的一种常用算法,计算步骤为:步骤1准备计算在有根区间端点处的值)(xf).(),(bfaf],[ba步骤2二分计算在区间中点处的值)(xf2ba).2(baf步骤3判断若,则即是根,计算过程结束,否则检验.0)2(baf2ba若,则以代替,否则以代替.0)()2(afbaf2bab2baa反复执行步骤2和步骤3,直到区间长度小于],[ba13允许误差,此时中点即为所求近似根.2ba147.2不动点迭代法及其收敛性7.2.1不动点迭代法将方程(1.1)改写成等价的形式).(xx(2.1)若要求满足,则;反之亦然,称为函数的一个不动点.*x0*)(xf*)(*xx*x)(x求的零点就等价于求的不动点,选择一个初始近似值,将它代入(2.1)右端,即可求得)(xf)(x0x).(01xx如此反复迭代计算).,1,0()(1kxxkk(2.2)15称为迭代函数.如果对任何,由(2.2)得到的序列有极限)(x],[0bax}{kx.*limxxkk则称迭代方程(2.2)收敛,且为的不动点,故称(2.2)为不动点迭代法.*)(*xx)(x上述迭代法是一种逐次逼近法,其基本思想是将隐式方程(2.1)归结为一组显式的计算公式(2.2),就是说,迭代过程实质上是一个逐步显示化的过程.方程的求根问题在平面上就是要确定曲线与直线的交点)(xxxy)(xyxy.*P对于的某个近似值,在曲线上可确定一点,它以为横坐标,而纵坐标则等于*x0x)(xy0P0x.)(10xx16过引平行轴的直线,设此直线交直线于点,然后过再作平行于轴的直线,它与曲线的交点记作,则点的横坐标为,纵坐标则等于0Pxxy1Q1Qy)(xy1P1P1x)(1x.2x图7-217例3求方程01)(3xxxf(2.3)在附近的根5.10x.*x解设将方程(2.3)改写成下列形式.13xx按图7-2中箭头所示的路径继续做下去,在曲线上得到点列,其横坐标分别为依公式求得的迭代值)(xy21,PP)(1kkxx.,21xx如果点列趋向于点,则相应的迭代值收敛到所求的根}{kP*Pkx.*x据此建立迭代公式1832494.1432472.1832588.1332472.1733086.1232473.1635721.1132476.155.1027kkxkxk表).,2,1,0(131kxxkk各步迭代的结果见表7-2.如果仅取6位数字,那么结果与完全相同,这时可以认为实际上已满足方程(2.3),即为所求的根.7x8x7x19但若采用方程(2.3)的另一种等价形式13xx建立迭代公式.131kkxx仍取迭代初值,则有5.10x.39.12,375.221xx结果会越来越大,不可能趋于某个极限.这种不收敛的迭代过程称作是发散的.一个发散的迭代过程,纵使进行了千百次迭代,其结果也是毫无价值的.207.2.2不动点的存在性与迭代法的收敛性首先考察在上不动点的存在唯一性.],[ba)(x定理1设满足以下两个条件:],[)(baCx1°对任意有],[baxbxa)(2°存在正常数,使对任意都有1L],[,bayx.)()(yxLyx(2.4)则在上存在唯一的不动点)(x],[ba.*x证明先证不动点存在性.若或,显然在上存在不动点.aa)(bb)()(x],[ba因,以下设及,定bxa)(aa)(bb)(21义函数.)()(xxxf显然,且满足,由连续函数性质可知存在使,即即为的不动点.],[)(baCxf)(,0)()(bfaaaf0)(bb),(*bax0*)(xf**),(*xxx)(x再证唯一性.设都是的不动点,则由(2.4)得],[,21baxx)(x.)()(21212121xxxxLxxxx引出矛盾.故的不动点只能是唯一的.证毕.)(x22定理2设满足定理1中的两个条件,则对任意,由(2.2)得到的迭代序列收敛到的不动点,并有误差估计],[)(baCx],[0bax}{kx)(x*x.1*01xxLLxxkk(2.5)证明设是在上的唯一不动点,由条件1°,可知,再由(2.4)得],[ba],[*bax)(x],[}{baxk.***)()(*011xxLxxLxxxxkkkk因,故当时序列收敛到.10Lk}{kx*x再证明估计式(2.5),由(2.4)有.)()(111kkkkkkxxLxxxx(2.6)23反复递推得.011xxLxxkkk于是对任意正整数有p.1)(0101211211xxLLxxLLLxxxxxxxxkkpkpkkkpkpkpkpkkpk在上式令,注意到即得式(2.5).证毕.p*limxxpkp迭代过程是个极限过程.在用迭代法实际计算时,必须按精度要求控制迭代次数.24误差估计式(2.5)原则上可用于确定迭代次数,但它由于含有信息而不便于实际应用.L根据式(2.6),对任意正整数有p.11)1(1121kkkkppkpkxxLxxLLxx在上式中令知p.11*1kkkxxLxx由此可见,只要相邻两次计算结果的偏差足够小即可保证近似值具有足够精度.kkxx1kx对定理1和定理2中的条件2°,在使用时如果且对任意有)(x],[1baC],[bax25,1)(Lx(2.7)则由中值定理可知对有],[,bayx).,(,))(()()(bayxLyxyx表明定理中的条件2°可用(2.7)代替.例3中,当时,,在区间中,,故(2.7)成立.31)(xx3/2)1(31)(xx]2,1[14131)(3/1x又因,故定理1中条件1°也成立.所以迭代法是收敛的.23)(2133x而当时,在区间中不满足定理条件.1)(3xx23)(xx]2,1[1)(x267.2.3局部收敛性与收敛阶上面给出了迭代序列在区间上的收敛性,通常称为全局收敛性.定理的条件有时不易检验,实际应用时通常只在不动点的邻近考察其收敛性,即局部收敛性.}{kx],[ba*x定义1设有不动点,如果存在的某个邻域,对任意,迭代(2.2)产生的序列,且收敛到,则称迭代法(2.2)局部收敛.)(x*x*x*:xxRRx0Rxk}{*x定理3设为的不动点,在的某个邻域连续,且,则迭代法(2.2)局部收敛.*x)(x)(x*x1*)(x证明由连续函数的性质,存在的某个邻域,使对于任意成立*x*:xxRRx.1)(Lx27此外,对于任意,总有,这是因为RxRx)(.***)()(*)(xxxxLxxxx于是依据定理2可以断定迭代过程对于任意初值均收敛.证毕.)(1kkxxRx0讨论迭代序列的收敛速度.例4用不同方法求方程的根032x.3*x解这里,可改写为各种不同的等价形式,其不动点为由此构造不同的迭代法:3)(2xxf)(xx.3*x.1132)3
本文标题:第七章 非线性方程与方程组的数值解法-1
链接地址:https://www.777doc.com/doc-3805595 .html