资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
4 实根的近似计算设f(x)为已知连续函数,是方程f(x)=0的根,这里方程可以是一般方程(代数方程或超越方程).在实际问题中都给出了根的范围,例如代数方程f(x)=a0xn+a1xn1+L+an1x+an=0的根的范围是|1+max|a1|,|a2|,L,|an|因此可以假定方程在区间(a,b)内只有一个根(若有两个根,则将区间的一个端点换为使(x)=0的点).并由函数的连续性可知,一般来说,在根的附近f(x)是异号的(当()=0或除外),所以在下面介绍的各种近似计算中,都假定f(a)和f(b)异号.一、秦九韶法*秦九韶法基本上是通过逐次试验求根的近似值的方法,试验次数愈多,所得近似值愈接近根的真值.系统地继续这一过程,直至达到预定的有效数字的位数.现举例具体说明这个方法.例 求方程 f(x)= (1)的根到五位有效数字.应用笛卡尔符号法则可知这个方程有一个正根.由于f(1)11,f(2)14,这个正根在(1,2)之间.现在应用秦九韶法求这个方程的近似根.先设,这里表示1到所求根的距离.应用多项式的泰勒公式(秦九韶法,见2,一),得到关于的方程 (2)其算式为 现在求纯小数的近似值,由于纯小数的三次方或二次方的值更小,可暂舍去方程(2)的头两项而来计算21110,即0.5238.但舍去的两项是正的,这个值显得太大.当0.500时,方程(2)的左边各项的和是仍是正数(0.375),而当0.400时,方程(2) 的左边各项的和是负数(2.056).因此,设,即,再应用多项式的泰勒公式,得到关于h的方程 (3)其算式为* 我国古代数学家秦九韶在他所著的(1247),给出一个求代数方程的根近似值 的方法,这个方法一般书上都称为和纳法.实际上和纳在1819年才提出这个方法,比秦九 韶晚五百多年.1 / 12 现在求小数h的近似值,舍去头两项,求得h0.08609.因舍去两个正量,所得的h太大,所以设h0.08,即.应用上述方法得到关于的方程 (4)同上面一样,从方程(4)的后两项求得设,即得到关于的方程 (5)从后两项求出的近似值=0.0008,因舍去的都是正量,所以方程(5)的根在0.0008和0.00081之间.现在把(2),(3),(4),(5),的各个近似值0.4,0.08,0.004,0.0008相加得总和0.4848,然后加到第一次近似值1上,所以方程(1)的根在1.4848与1.48481之间,取五位有效数字为1.4848.用秦九韶法还能求负的近似值.想求f(x)0的一切负实根,可先求 f(x)的正实根,然后改变符号,即得负实根.二、二分法假定f(x)在a,b上连续,且f(a)f(b)0(这里假定f(a)0),取区间a,b的中点,若=0,则f(x)=0的根是=.不然,若0,则令a1=a,b1=;若0,则令a2=a1,b2=;若0,则令a2=,b2=b1.于是又形成新区间a2,b2,其长度等于,它包含方程f(x)=0的根.若允许误差=,则按这个过程作出区间a1,b1, a2,b2, a3,b3,L, an,bn,n=(x表示x的整数部分),于是*=是方程f(x)=0的近似根,误差不超过|-*|二分法是求实根的近似计算中行之有效的最简单的方法,它只要求函数是连续的,因此它的使用范围很广,并便于在电子计算机上实现.但是它不能求重根,也不能求虚根.三、迭代法把方程f(x)=0表成它的等价形式x=j(x)或一般地f1(x)=f2(x)式中f1(x)是这样一个函数:对任意实数c,能容易算出方程f1(x)=c的精确度很高的实根.如果对任意ax1b,ax2b,下式成立:则下面迭代过程是收敛的.首先从一个近似根x0出发(x0可由图解法粗略估计出),代入方程右边,解方程f1(x)=f2(x0)得到第一个近似根x=x1,再解方程f1(x)=f2(x1)得到第二个近似根x=x2,L,类似地由第n个近似根xn,解方程f1(x)=f2(xn)得到第n+1个近似根x=xn+1,于是得到一系列不同精确度的近似根x0, x1, x2,L, xn,L它收敛于方程的根(图3.3).收敛速度(即误差消失速度)与an相当,而a用代替x2可加速收敛.式中Dx1=x2x1为x1的一阶差分,D2x0=Dx1Dx0为x0的二阶差分.对于方程x=j(x),只要j(x)在a,b上连续,且q1,那末,它的根可由x1=j(x0)x2=j(x1)LLLLxn+1=j(xn)来接近(图3.4).四、牛顿法1一般牛顿法设f(x)在a,b上连续,也连续,且0,0,f(a)f(b)0(设f(a)0),过点(a,f(a)(或点(b,f(b)))作曲线的切线:(或)它和x轴的交点为x=a(或x=b)用迭代公式xn+1=xn并取初始值x0=可计算出方程f(x)=0的根的近似值(图3.5).误差xxn不超过 一般选取的初始值x0,要满足不等式2近似牛顿法如果不易算出,可改用差商代替,得出近似牛顿法迭代程序:xn+1=xn3逐次压缩牛顿法求实系数代数方程f(x)=a0xn+a1xn-1+L+an=0的单实根时,用牛顿法求出一个实根x0后,可把多项式的次数降低一次,降低次数后的多项式系数bk为b0=a0bk=ak+x0bk-1(k=1,2,L,n1)然后,再把求出的实根作为初始近似值,用同法求出再次降低次数的多项式的实根,依此求出全部单实根.4牛顿法解非线性方程组假设非线性方程组存在一组近似解P0=(x0,y0),且可用迭代公式:xn+1=xn+yn+1=yn+式中Pn为点(xn,yn),Jn为雅可比式J在Pn的值:五、弦截法(线性插值法)假设f(x)在a,b上连续,,都不变号,且f(a)f(b)0(这里假定f(a)0).过点(a,f(a)和(b,f(b)的直线是:(或)它和x轴的交点是x=a(或x=b).(a)当0时,用迭代公式可求出方程的近似根(图3.6(a)).(b)当0时,用迭代公式可求出方程f(x)=0的近似根(图3.6(b)).六、联合法(牛顿法与弦截法联合使用)假设f(x)在a,b上连续,,都不变号,且f(a)f(b)0(这里假定f(a)0).(a)当f(a)与同号时(图3.7(a)),用迭代公式x1=a=bx2=x1=LLLLLLLxn=xn-1=可求出方程f(x)=0的近似根.(b)当f(a)与异号时(图3.7(b)),用迭代公式x1=a=bx2=x1=LLLLLLLLxn=xn-1=可求出方程f(x)=0的近似根.误差或.七、抛物线法(穆勒法)求实系数n次方程f(x)=xn+a1xn-1+L+an=0 (1)的近似根.可先求出f(x)=0的一个根x=r,则 f(x)=(x-r)g(x) =(xr)(xn1+b1xn2+L+bn1)式中g(x)是n1次多项式,然后再求出g(x)的根,依此类推,可以求出f(x)=0的全部实根来.首先选取x轴上三点:x0,x1,x2,通过曲线y=f(x)上的三点:(x0,f(x0), (x1,f(x1),(x2,f(x2)作一抛物线y=P(x)(即拉格朗日插值多项式,见第十七章,2,三),抛物线与x轴有两个交点,取离x2较近的一点作为x3;再过三点(x1,f(x1), (x2,f(x2), (x3,f(x3)作一抛物线(图3.8中的虚线),它与x轴有两个交点,取离x3较近的一点作为x4L,依此法作出点xi-2, xi-1, xi,再过三点(xi-2,f(xi-2), (xi-1,f(xi-1), (xi,f(xi)作一抛物线与x轴有两个交点,取离xi较近的一点作为xi+1,等等.对于预先给定的允许误差e,当迭代过程进行到xi+1-xi0,根式取正号;hi0,根式取负号)当f(xi-2)=f(xi-1)=f(xi)时,取li+1=1.(3)根据公式xi+1=li+1(xixi-1)+xi计算出xi+1八、林士谔赵访熊法(劈因子法)由于解二次方程是容易的,因此在求实系数代数方程f(x)=xn+a1xn1+L+an1x+an=0的复根时,如果找出f(x)的一个二次因子,就等于找到方程的一对复根.设f(x)的一个近似二次因子(任意选取)为w (x)=x2+px+q可用下述方法使它精确化:(1)用w (x)去除f(x),得到商式Q(x)和余式R(x),即 f(x)= w (x)Q(x)+R(x)=(x2+px+q)(xn2+b1xn3+L+bn3x+bn2)+(r1t+r2)式中商式与余式的系数可用下面的递推公式算出:bk=ak-pbk-1-qbk-2,k=1,2,L,nb-1=0,b0=1r1=bn-1=an-1-pbn-2-qbn-3r2=bn+pbn-1=an-qbn-2(2)用w (x)去除xQ(x)得到余式R1
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号