《第2章一元线性方程的解发》由会员分享,可在线阅读,更多相关《第2章一元线性方程的解发(69页珍藏版)》请在金锄头文库上搜索。
1、第2章 非线性方程求根 数值分析第2章 一元线性方程的解发1 二分法二分法2 迭代法迭代法3 切线法切线法(牛顿法牛顿法)4 弦截法弦截法5 加速迭代法加速迭代法 第2章 非线性方程求根 数值分析1二分法二分法 我们已经熟悉求解一元一次方程、一元二次方程以及某些特殊类型的高次代数方程或非线性方程的方法。这些方法都是代数解法,求出的根是方程的准确根。但是在许多实际问题中遇到的方程,例如代数方程x3-x-1=0或超越方程第2章 非线性方程求根 数值分析等等,看上去形式简单,但却不易求其准确根。为此,只能求方程达到一定精度的近似根。方程的形式很多,我们主要讨论一元非线性方程,也即f(x)=0(21)
2、第2章 非线性方程求根 数值分析方程(21)可以有实根,也可以有复根或者重根等。本章主要讨论它的实根的数值计算问题。方程根的数值计算大致可分三个步骤进行:(1)判定根的存在性。(2)确定根的分布范围,即将每一个根用区间隔离开来。(3)根的精确化,即根据根的初始近似值按某种方法逐步精确化,直至满足预先要求的精度为止。第2章 非线性方程求根 数值分析设f(x)为定义在某区间上的连续函数,方程(21)存在实根。虽然方程(21)的根的分布范围一般比较复杂,但我们不难将函数f(x)的定义域分成若干个只含一个实根的区间。例如考虑方程x2-2x-1=0由图2.1所示,该方程的一个负实根在-1和0之间,另一个
3、正实根在2和3之间。第2章 非线性方程求根 数值分析图2.1第2章 非线性方程求根 数值分析这样,我们总可以假设方程(21)(a,b)内有且仅有一个单实根x*。由连续函数的介值定理知f(a)f(b)0若数值b-a较小,那么我们可在(a,b)上任取一点x0作为方程的初始近似根。例如,方程f(x)=x3-x-1=0由于f(1)0,f(1.5)0,又f(x)在区间(1,1.5)上单调连续,故可知在(1,1.5)内有且仅有一个实根。于是可取某个端点或区间内某一个点的值作为根的初始近似值。第2章 非线性方程求根 数值分析设函数f(x)在区间a,b上单调连续,且f(a)f(b)0则方程(21)在区间(a,
4、b)内有且仅有一个实根x。下面在有根区间(a,b)内介绍二分法的基本思想。取x0=(a+b)/2.计算f(a)与f(x0),若f(a)f(x0)0则根x(a,x0),令a1=a,b1=x0否则x(x0,b),令a1=x0,b1=b第2章 非线性方程求根 数值分析图2.2第2章 非线性方程求根 数值分析如此逐次往复下去,便得到一系列有根区间(a,b),(a1,b1),(a2,b2),(ak,bk),其中这里a0=a,b0=b显然有(22)当k时,区间(ak,bk)最终必收敛于一点,该点就是所求方程(21)的根x。第2章 非线性方程求根 数值分析我们把每次二分后的有根区间(ak,bk)的中点作为所
5、求根x的近似值,这样获得一个近似根的序列x0,x1,x2,xk,该序列必以根x为极限,即(23)故对于预先给定的精度,若有第2章 非线性方程求根 数值分析则结果xk就是方程(21)满足预给精度的近似根,也即由式(22)和(23)还可得到误差估计式为(24)对于确定的精度,从式(24)易求得需要二等分的次数k。二分法具有简单和易操作的优点。其计算步骤如下,框图如图2.3所示。第2章 非线性方程求根 数值分析1.计算步骤输入有根区间的端点a,b及预先给定的精度;(a+b)/2x;若f(a)f(x)0,则x=b,转向;否则x=a,转向。若b-a,则输出方程满足精度的根x,结束;否则转向。第2章 非线
6、性方程求根 数值分析2.计算框图(见下页)例1求方程f(x)=x3-x-1=0在区间(1,1.5)内的根。要求用四位小数计算,精确到x-2。解这里a=1,b=1.5取区间(1,1.5)的中点第2章 非线性方程求根 数值分析图2.3第2章 非线性方程求根 数值分析由于f(1)0,f(1.25)0,则令a1=1.25,b1=1.5得到新的有根区间(1.25,1.5)第2章 非线性方程求根 数值分析表21取x6=1.3242,误差限|x6-x*|0.5/(27)0.005,故x6即为所求近似根,实际上根x*=1.324717第2章 非线性方程求根 数值分析二分法优点:计算简单,收敛性有保证;缺点:收
7、敛不够快,特别是精度要求高时,工作量大,而且不能够求复根及双重根。第2章 非线性方程求根 数值分析2 迭代法迭代法 迭代法的基本思想是:首先将方程(21)改写成某种等价形式,由等价形式构造相应的迭代公式,然后选取方程的某个初始近似根x0,代入迭代公式反复校正根的近似值,直到满足精度要求为止。迭代法是一种数值计算中重要的逐次逼近方法。例如,求方程x3-x-1=0第2章 非线性方程求根 数值分析在x=1.5附近的一个根(用六位有效数字计算)。首先将原方程改写成等价形式用初始近似根x0=1.5代入式(25)的右端可得第2章 非线性方程求根 数值分析x1与x0相差较大,如果改用x1作为近似根代入式(2
8、5)的右端得第2章 非线性方程求根 数值分析表22第2章 非线性方程求根 数值分析对于一般形式的方程(21),首先我们设法将其化为下列等价形式x=g(x)(27)然后按(27)构造迭代公式(28)从给定的初始近似根x0出发,按迭代公式(28)可以得到一个数列x0,x1,x2,xk,若这个数列xk有极限,则迭代公式(28)是收敛的。此时数列的极限第2章 非线性方程求根 数值分析就是原方程(21)的根。虽然迭代法的基本思想很简单,但效果并不总是令人满意的。对于上例,若按方程写成另一种等价形式x=x3-1(29)建立迭代公式xk+1=x3k-1,k=0,1,2,仍取初始值x0=1.5,则迭代结果为x
9、1=2.375x2=12.3976第2章 非线性方程求根 数值分析定理设方程x=g(x)在(a,b)内有根x,g(x)满足李普希茨(Lipschitz)条件:即对(a,b)内任意的x1和x2都有q为某个确定的正数,若q1,则方程在(a,b)内有唯一的根;且迭代公式xk+1=g(xk)对任意初始近似值x0均收敛于方程的根x;还有误差估计式(211)第2章 非线性方程求根 数值分析证由已知条件知,x为方程x=g(x)的根,即x=g(x)设也是方程的根,即于是,由李普希茨条件得因为q1,所以上式矛盾,故必有第2章 非线性方程求根 数值分析亦即方程在(a,b)内有唯一的根。再考虑迭代公式xk+1=g(
10、xk),k=0,1,2,由李普希茨条件(212)第2章 非线性方程求根 数值分析因为q1,当k时,qk0,即有所以也就是对任意初始值x0迭代公式收敛。利用李普希茨条件第2章 非线性方程求根 数值分析对任意正整数p有第2章 非线性方程求根 数值分析迭代法的几何意义:把方程(21)求根的问题改写成(27)变为求数列xn的极限,实际上是把求根问题转化为求第2章 非线性方程求根 数值分析图2.4第2章 非线性方程求根 数值分析迭代过程(28)就是在x轴取初始近似值x0,过x0作y轴的平行线交曲线y=g(x)于p0,p0的横坐标为x0,纵坐标为g(x0)(g(x0)=x1),也即p0(x0,x1)再在x
11、轴上取x1作为新的近似值,过x1作y轴的平行线交曲线y=g(x)于p1,p1的横坐标为x1,纵坐标为g(x1)(g(x1)=x2),也即p1(x1,x2)而这相当于过p0引平行于x轴的直线交y=x于Q1(x1,x2)第2章 非线性方程求根 数值分析再过Q1引平行于y轴的直线交曲线y=g(x)于p1(x1,x2)仿此可得到点列p0(x0,x1),p1(x1,x2),p2(x2,x3),若第2章 非线性方程求根 数值分析则迭代法收敛,见图2.4(a);否则迭代法发散,见图2.4(b)。必须说明两点:要验证g(x)是否满足李氏条件一般比较困难,若g(x)可微,可用充分条件第2章 非线性方程求根 数值
12、分析来代替。这里q1是非常重要的条件,否则不能保证迭代收敛。对于收敛的迭代过程,误差估计式(211)说明迭代值的偏差xk-xk-1相当小,就能保证迭代误差x-xk足够小。因此在具体计算时常常用条件xk-xk-1(215)来控制迭代过程结束。第2章 非线性方程求根 数值分析迭代法的突出优点是算法的逻辑结构简单,且在计算时,中间结果若有扰动,仍不会影响计算结果。其计算步骤为:(1)确定方程f(x)=0的等价形式x=g(x),为确保迭代过程的收敛,要求g(x)满足李普希茨条件(或g(x)q1);(2)选取初始值x0,按公式xk+1=g(xk),k=0,1,2,进行迭代;(3)若xk+1-xk,则停止
13、计算,xxk+1。第2章 非线性方程求根 数值分析例2求方程x=e-x在x=0.5附近的一个根。按五位小数计算,计算结果的精度要求为=10-3解过x=0.5以步长h=0.1计算f(x)=x-e-x由于f(0.5)0,f(0.6)0故所求的根在区间(0.5,0.6)内,且在x=0.5附近第2章 非线性方程求根 数值分析图2.5第2章 非线性方程求根 数值分析 表表 23 第2章 非线性方程求根 数值分析因此用迭代公式由表可见第2章 非线性方程求根 数值分析最后,我们给出一个说明,在将方程(21)化为等价形式(27)时,g(x)的形式是多种多样的,选取不当,迭代公式(28)就不会收敛。最一般的形式
14、可以写成x=x+(x)f(x)(216)这里(x)为任意一个正(或负)的函数。于是g(x)=x+(x)f(x)(217)这样可根据式(217)选取(x),使得迭代公式(28)满足收敛条件特别当取(218)第2章 非线性方程求根 数值分析时,由式(216)构造的迭代公式为下面要介绍的切线迭代公式;当取(219)时,可得到弦截迭代公式。第2章 非线性方程求根 数值分析3 切线法切线法(牛顿法牛顿法) 切线法是求解方程(21)的一种重要迭代方法。如图2.6,曲线y=f(x)与x轴的交点x就是方程(21)的根。第2章 非线性方程求根 数值分析 图图 2.6 第2章 非线性方程求根 数值分析与x轴的交点
15、为xk+1,其方程为点xk+1满足该切线方程,即可得到切线迭代公式(或牛顿迭代公式)(220)第2章 非线性方程求根 数值分析切线法是非线性方程线性化的方法。其计算步骤为:给出初始近似根x0及精度。计算若x1-x0,则转向;否则x1x0,转向。输出满足精度的根x1,结束。切线法的计算框图见图2.7。第2章 非线性方程求根 数值分析图2.7第2章 非线性方程求根 数值分析例3用切线法求方程xex-1=0的根(取五位小数计算)。取x0=0.5,迭代结果如表24所示。第2章 非线性方程求根 数值分析 表表 24 第2章 非线性方程求根 数值分析切线迭代公式(220)对应着(21)的等价方程由于(22
16、1)若是方程(21)的一个单实根,即第2章 非线性方程求根 数值分析所以,在点附近切线法收敛,而且收敛速度比较快。根据式(221)易得切线迭代公式的收敛条件为第2章 非线性方程求根 数值分析4 弦截法弦截法 切线法迭代简单,收敛速度也较快,但就是需要计算导数f(x),有时使用会带来麻烦。这一节介绍的弦截法就避免了切线法的不足。第2章 非线性方程求根 数值分析点xk+1满足该弦的方程,即有从而可求得弦截迭代公式(223)第2章 非线性方程求根 数值分析图2.8第2章 非线性方程求根 数值分析表25第2章 非线性方程求根 数值分析例4用弦截法解方程xex-1=0解取x0=0.5,x1=0.6作为初
17、始近似根,令f(x)=x-e-x=0利用公式(223)得到弦截迭代公式为计算结果见表25。与切线法的计算结果比较,可以看出弦截法的收敛速度也是比较快的。第2章 非线性方程求根 数值分析5 加速迭代法加速迭代法已知方程(21)的近似根xk,按迭代公式(28)可求得xk+1。现考虑把xk+1作为过渡值,记为(224)(225)第2章 非线性方程求根 数值分析还是设x为方程(21)的一个实根,即由式(224)和(226)得到第2章 非线性方程求根 数值分析也即整理得到于是,只要取(227)(228)(229)第2章 非线性方程求根 数值分析这样可得到加速迭代公式(230)第2章 非线性方程求根 数值
18、分析例5用加速迭代公式求方程x=e-x在x=0.5附近的一个根。解因为在x=0.5附近g(x)=-e-xg(0.5)=-e-0.5-0.6故加速迭代公式的具体形式为第2章 非线性方程求根 数值分析表26第2章 非线性方程求根 数值分析图2.9第2章 非线性方程求根 数值分析与例2比较,同一例用一般迭代法要迭代十次才能得到满足精度=10-3的结果,而这里仅迭代三次便可达到=10-5的高精度结果。这种加速过程取得的效果极为显著。为 了 避 免 计 算 导 数 ag(x),下 面 介 绍 埃 特 金(Aitken)迭代方法。它也是一种加速迭代法。(231)第2章 非线性方程求根 数值分析将式(227)与式(231)联立消去a得到可解出(232)(233)第2章 非线性方程求根 数值分析这样得到埃特金迭代公式第2章 非线性方程求根 数值分析例6用埃特金迭代法求x3-x-1=0在(1,1.5)内的根。解前面已经提到,迭代公式xk+1=x3k-1,k=0,1,2,是发散的。现用埃特金算法来求根,其迭代公式为第2章 非线性方程求根 数值分析仍取x0=1.5,计算结果见表27。第2章 非线性方程求根 数值分析表表 27