您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第4章非线性方程求根
1第4章非线性方程求根问题的引入我们知道,在多项式方程中,求根公式有一、二、三、四次方程,当n大于等于已经证明不能用公式计算,因此需要寻找另一种计算方法;同时在工程和科学技术中许多问题常常归结为求解非线性方程式的问题,非线性方程的解法也需要给出一种方法,本章来讨论这个问题。例1关于真实气体的状态方程为是气体常数)是绝对温度,是气体体积,是气体压力,(其中,RTVpRTbVVap))((2如果p与T都已知,则求体积V的方程为bVapRTV)(2这是一个非线性方程,如何求解呢?通常,非线性方程的根不止一个,对于非线性方程一般用对分法与迭代法求解。在用迭代法时,要给定初始值或求解范围。4.1实根的对分法设有非线性方程0)(xf为[a,b]上的连续函数,且0)()(bfaf(不妨设方程只有一个实根),二分法叙述如下:第1步:)(2/)(],[],[111111xfbaxbaba的函数值,计算区间中点记,如果即为所求的根;如果,则110)(xxf0)()(11xfaf则根一定在区间内内,否则一定在区间],[],[],[],[22112211babxbaxa。于是我们得到长度缩小一半的含根区间],[22ba,即)(21)(21,0)()(112222abababbfaf设已经完成了第1,第2,……,第k-1步,得到分半计算的含根区间],,[],[],[2211kkbababa且满足:(1)],[,0)()(*kkkkbaxbfaf2(2))(21)(211111abababkkkk,现我们看第k步:。如果即计算)(,2/)(kkkkxfbax即为所求。,则kkkxxxxf,0)(*否则有根区间为],,[],[],[11kkkkkkbxorxaba且有)(212*ababxxkkkk一般这样的过程不会一直下去,通常预先给定一个精度ε,使得Kkabxx2*,取对数计算得,2ln/]ln)[ln(abk来控制二分的次数。例:用二分法精确内的一个实根,且要求,于区间]21[01)(6xxxf小数点后第3位(即要求)10213*xxk解:显然0)2()1(ff,由2ln/]ln)12[ln(k,3105.0算得,k=11。计算结果如下表。)(kkkkxfxbak11.02.01.58.89062521.01.51.251.56469731.01.251.125-0.09771341.1251.251.18750.61665351.1251.18751.156250.23326961.1251.156251.1406250.061577871.1251.1406251.132813-0.019575681.1328131.1406251.1367190.020619091.1328131.1367191.1347660.0004307101.1328131.1347661.133789-0.00959799111.1337891.1347661.134277-0.0045915注意:若函数在给定区间上有几个零点时,对分法只能算出其中一个,且是实根。对分法求根算法计算0)(xf的一般步骤如下:31.输入有根区间[a,b]和误差控制量,定义函数)(xf。EXITTHENbfafIF0)()(2.baWHILE(1)计算中点2/)(bax以及)(xf的值(2)分情况处理)(xf停止计算xx*,转向步骤40)()(xfaf修正区间],[],[baxa0)()(bfxf修正区间],[],[babxENDWHILE3.得根2*bax4.输出近似根*x。在算法中,常用0))(())((xfsignafsign代替0)()(xfaf的判断,以避免)()(xfaf数值的溢出。4.2迭代法对给定的方程0)(xf,将它转换成等价形式:)(xx。给定初始值0x,由此来构造迭代序列L,2,1),(1kxxkk,如果迭代收敛,即)(limlim1kkkkxx有)(,则就是方程的根。在计算中当kkxx1小XYX0X1X24于给定的精度控制量时,取1kx为方程的根。例:求方程05.0sin)(xxxf的等价形式解:(a))(5.0sin1xgxx(b))()5.0arcsin(2xgxx注意:在方程0)(xf转化为不同的等价形式后,会有不同的迭代函数,从而有不同的迭代序列kx,由此产生的迭代效果也可能不同:例:对上例中的方程,考察用迭代法求根:(a))(5.0sin1xgxx(b))()5.0arcsin(2xgxx解:取初始值0.10x,分别代入迭代公式,,2,1,0),(),(2111kxgxxgxkkkk计算结果如图。)()()()(kkkxfaxbxak01.01.011.3414710.52359921.4738200.02360131.495301-0.49655541.497152-1.48776151.49728961.49730071.497300-0.00000036由计算看出,我们选取的两个迭代函数构造的序列kx的收敛情况不一样,一个收敛到1.497300,另一个的值无意义。问题在于迭代函数的选取上。因此,我们需要解决两个问题:(1)如何选取迭代函数,使迭代过程收敛。(2)若kx收敛较慢,怎样加速kx收敛。让我们再看迭代方程)(xx发现:方程的根可以看成是曲线)(xy与直线xy的交5)(xy点的横坐标*x。画图来看看:(1)1)(0*x(2)0)(1*x(3)1)(*x(4)1)(*x看下面的定理。迭代法不收敛。具体可内可能有其它的根或者;否则方程在当的导函数满足条件数收敛,应该要求迭代函知,为了保证迭代过程由迭代法的几何意义可。)情况下不收敛于)(,(收敛于)情况下序列)(知道(,且从几何上观察序列。继续这个过程就得到点的横坐标就是点,显然,于轴方向前进交点,沿平行于,再从与一点轴方向前进交出发,沿着平行于上一点从曲线,],[],[,1)(4321)()())(,()(***011100000babaxxgxxxxxgxPPxgyyQQxyxxgxPxgykk定理设有方程)(xx,若满足下面三个条件:Q0P0y=g(x)x3x*x2x1x0x*x2x1x0y=xy=xx*x1x2x3x*x-0x1x2两个图形的意思?)(xy)(xy6(1)设迭代函数)(x于[a,b]上一阶导数存在;(2)当],[bax时,有];,[)(bax(3))(x满足条件1)(Lx:,当],[bax则有(1)迭代方程)(xgx在],[ba上有惟一解*x;(2)对于任意选取的初始值],[0bax,迭代方程)(1kkxgx收敛即*limxxkk(3)kkkxxLxx1*11),2,1(101*kxxLLxxkk证明(1)由假设条件(2),即有当bxa时有bxga)(。作函数xxxh)()(,显然)(xh在],[ba上连续,)(xh存在且满足:0)()(,0)()(bbbhaaah于是由连续函数性质,则有0)(,0)(],[****xxxhbax即,使下面证明惟一性,设有两个解即有且及],,[,,**baxxxx)(),(**xxxx由中值定理有))(()()(***xxxxxx其中,,上式即有之间,所以与在],[*baxx0))(1(*)(xx又有假设条件(3),则有*xx。(2)由定理假设条件(2),当取],,[],[0baxbaxk时,则有),2,1(k。记误差kkxxe*,由中值公式有7))(()()(**1*kkkxxcxxxx)得到误差的递推公式。又利用假设条件(之间,即与在其中,3],[*bacxxck0*1*2**1*)(xxLxxLxxLxxcgxxkkkkk0,0,10*xxLLLkk即*limxxkk(3)由迭代公式)(1kkxx显然有))(()()(111kkkkkkxxcxxxx),2,1(1kxxLkk其中之间,于是有与在kkxxc11**1**1)(kkkkkkxxxxxxxxxxkkkxxLxxLxx***)1(即11*111kkkkkxxLLxxLxx(3)反复利用上式,有0121211*11111xxLLxxLLxxLLxxLxxkkkkkkkk注意:定理4中的假设条件1)(Lx一般情况下,可能对于大范围的含根区间不满足,而在根的邻近是成立的,为此,有下述的迭代过程局部收敛性定理。定理(迭代法的局部收敛性)设给定方程)(xxbbx*aaxoy=g(x)问题:图形的意思?8(1)设*x是方程的解。(2)设)(x在*x的邻近连续可微,且有1)(*x则对任意的初值Sx0(是*x的某一邻域)迭代过程收敛于*x。(说明:)条件2即为存在*x的一个邻域,使得1)(Lxg成立。与定理4的(3)对应。证明:取],,[],[**xxba只要验证满足定理4中条件(2)成立,定理5即得证。事实上,设x是*x邻域S内的一点,只要证明)(x也在这个邻域。令)(xx***)()(xxLxxxx,是*x邻域的半径。说明Sx。Sxg)(。例:求代数方程052)(3xxxf在2[0x附近的实根。解:]5.2,5.1[,1)(,)52(131)(5252)13/2313xxxxxxxxk所以迭代法收敛。取20x094550.2094543.2094494.2094217.2,09235.2,08008.2654321xxxxxx准确解为00945514815.2x]5.2,5.1[,123)(25)(,25)2223231xxxxxxxnn所以迭代格式不能保证收敛。这样,我们讨论了一般的迭代方法。下面,学习一些具体的迭代方法。想一想:迭代函数当满足一定条件时,迭代过程是收敛的,问迭代函数满足的条件是什么?我们是如何发现这个条件的?4.3牛顿迭代法牛顿-雷扶生方法是一种将非线性函数线性化的方法,例如将高次多项式化9成一次多项式;牛顿-雷扶生方法的优点是在单根附近具有较高的收敛速度;牛顿-雷扶生方法可用来计算方程的实根,也可计算代数方程的复根。牛顿法公式及误差分析设非线性方程0)(xf是[a,b]上一阶连续可微,且0)()(bfaf;又设*x是方程0)(xf的根,0x是根的近似值(设0)(0xf),则(1)求过曲线)(xfy上的点P()(,00xfx的切线方程))(()(000xxxfxfy(2)用切线近似代替曲线,切线的零点1x近似代替*x,作为方程0)(xf根*x的近似值,即求解0))(()(000xxxfxf得到)()(0001xfxfxx重复上述的过程,得到牛顿-雷扶生计算公式,2,1,0)()(10kxfxfxxxkkkk牛顿法的几何意义:用切线与X轴的交点的序列去逼近函数与X轴的交点。(牛顿法又称切线法)牛顿迭代法对应于方程0)(xf的等价格式是:)()()(kkxfxfxxx1))(()()()(2xfxfxfx若是0)(xf单根,0)(,0)(ff,则有
本文标题:第4章非线性方程求根
链接地址:https://www.777doc.com/doc-2195340 .html