非线性方程求根.ppt

上传人:牧羊曲112 文档编号:6148888 上传时间:2023-09-29 格式:PPT 页数:42 大小:380.50KB
返回 下载 相关 举报
非线性方程求根.ppt_第1页
第1页 / 共42页
非线性方程求根.ppt_第2页
第2页 / 共42页
非线性方程求根.ppt_第3页
第3页 / 共42页
非线性方程求根.ppt_第4页
第4页 / 共42页
非线性方程求根.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《非线性方程求根.ppt》由会员分享,可在线阅读,更多相关《非线性方程求根.ppt(42页珍藏版)》请在三一办公上搜索。

1、第7章 非线性方程求根,7.1 方程求根与二分法7.2 迭代法及其收敛性7.3 迭代收敛的加速方法7.4 牛顿法7.5 弦截法与抛物线法7.6 解非线性方程组的牛顿迭代法,7.1 方程求根与二分法,例如代数方程 x5-x3+24x+1=0,超越方程 sin(5x2)+e-x=0.,对于不高于4次的代数方程已有求根公式,而高于4次的代数方程则无精确的求根公式,至于超越方程 就更无法求出其精确的解,因此,如何求得满足一定精度要求的方程的近似根也就成为迫切需要解决的问题,为此,本章介绍几种常见的非线性方程的近似求根方法.,7.1.1 引言,本章主要讨论单变量非线性方程,f(x)=0(1.1),的求根

2、问题,这里xR,f(x)Ca,b.在科学与工程计算中有大量方程求根问题,其中一类特殊的问题是多项式方程,其中系数ai(i=0,1,n)为实数.,方程f(x)=0的根x*,又称为函数f(x)的零点,它使得f(x*)=0,若f(x)可分解为,f(x)=(x-x*)mg(x),,其中m为正整数,且g(x*)0.当m=1时,则称x*为单根,若m1称x*为(1.1)的m重根,或x*为函数f(x)的m重零点.若x*是f(x)的m重零点,且g(x)充分光滑,则,当f(x)为代数多项式(1.2)时,根据代数基本定理可知,n次代数方程f(x)=0在复数域有且只有n个根(含复根,m重根为m个根).,n=1,2时方

3、程的根是大家熟悉的,n=3,4时虽有求根公式但比较复杂,可在数学手册中查到,但已不适合数值计算,而n5时就不能用公式表示方程的根.因此,通常对n3的多项式方程求根与一般连续函数方程(1.1)一样都可采用迭代法求根.,迭代法要求给出根x*的一个近似,若f(x)Ca,b且f(a)f(b)0,根据连续函数性质中的介值定理可知方程f(x)=0在(a,b)内至少有一个实根,这时称a,b为方程(1.1)的有根区间,通常可通过逐次搜索法求得方程(1.1)的有根区间.,若 f(x)在a,b内连续,且 f(a)f(b)0,则 f(x)=0 在a,b内必有根;若f(x)在a,b内还严格单调,则f(x)=0在a,b

4、内只有一根,据此可得求隔根区间的两种方法.,1.(描)做图法,画出 y=f(x)的草图,由f(x)与横轴交点的大概位置来确定隔根区间;或者利用导函数f(x)的正、负与函数f(x)的单调性的关系确定根的大概位置.,求隔根区间的一般方法,若f(x)比较复杂,还可将方程f(x)=0化为一个等价方程(x)=(x),则曲线y=(x)与y=(x)之交点A(x*,y*)的横坐标 x*即为原方程之根,据此也可通过作图求得x*的隔根区间.,例1 判别下列方程有几个实根,并求隔根区间.(1)f(x)=x3-x-1=0,(2)f(x)=x4-4x3+1=0.,解(1)将方程变形为x3=x+1 绘曲线图 y=x3 及

5、 y=x+1由图可知,方程只有一个实根x*(1,1.5),所以(1,1.5)即为其隔根区间.,(2)方程 f(x)=x4-4x3+1=0.,由f(x)=4x2(x-3)=0 得驻点x1=0,x2=3.该二点将实轴分为三个区间:(-,0),(0,3),(3,+),f(x)在此三个区间上的符号分别为“-”、“-”、“+”,又知 f(-)0,f(0)=10,f(3)=-260.,可见f(x)仅有两个实根,分别位于(0,3),(3,+),又f(4)=10,所以第二根的隔根区间可缩小为(3,4).,以上分析可用下表表示,2.逐步搜索法,从区间a,b的左端点 a 出发,按选定的步长h 一步步向右搜索,若,

6、f(a+jh)f(a+(j+1)h)0(j=0,1,2,),则区间a+jh,a+(j+1)h内必有根.搜索过程也可从b开始,这时应取步长 h0.,7.1.2 二分法,设f(x)在区间a,b上连续,f(a)f(b)0,则在a,b,内有方程的根.取a,b的中点,将区间一分为二.若 f(x0)=0,则x0就是方程的根,否则判别根 x*在 x0 的左侧还是右侧.,若f(a)f(x0)0,则x*(a,x0),令 a1=a,b1=x0;,若f(x0)f(b)0,则x*(x0,b),令 a1=x0,b1=b.,不论出现哪种情况,(a1,b1)均为新的有根区间,它的长度只有原有根区间长度的一半,达到了压缩有根

7、区间的目的.,对压缩了的有根区间,又可实行同样的步骤,再压缩.如此反复进行,即可的一系列有根区间套,由于每一区间都是前一区间的一半,因此区间an,bn的长度为,若每次二分时所取区间中点都不是根,则上述过程将无限进行下去.当 n 时,区间必将最终收缩为一点x*,显然x*就是所求的根.,若取区间an,bn的中点,作为x*的近似值,则有下述误差估计式,只要 n 足够大,(即区间二分次数足够多),误差就可足够小.,由于在偶重根附近曲线 y=f(x)为上凹或下凸,即 f(a)与f(b)的符号相同,因此不能用二分法求偶重根.,例2 用二分法求例1中方程 f(x)=x3-x-1=0的实根,要求误差不超过0.

8、005.,解 由例1可知x*(1,1.5),要想满足题意,即:,则要,|x*-xn|0.005,由此解得 取n=6,按二分法计算过程见下表,x6=1.3242 为所求之近似根.,二分法的优点是算法简单,且总是收敛的,缺点是收敛的太慢,故一般不单独将其用于求根,只是用其为根求得一个较好的近似值.,二分法的计算步骤:,步骤1 准备 计算函数f(x)在区间a,b端点处的值f(a),f(b).,若f(a)f(a+b)/2)0,则以(a+b)/2代替b,否则以(a+b)/2代替a.,步骤2 二分 计算函数f(x)在区间中点(a+b)/2处的值f(a+b)/2).,步骤3 判断 若f(a+b)/2)=0,

9、则(a+b)/2即是根,计算过程结束,否则检验.,反复执行步骤2和步骤3,直到区间a,b长度小于允许误差,此时中点(a+b)/2即为所求近似根.,7.2 牛 顿 法,7.2.1 牛顿法及其收敛性,对于方程f(x)=0,如果f(x)是线性函数,则它的求根是容易的.牛顿法实质上是一种线性化方法,其基本思想是将非线性方程f(x)=0逐步归结为某种线性方程来求解.,设已知方程f(x)=0有近似根x0,且在 x0附近f(x)可用一阶泰勒多项式近似,表示为,当f(x0)0时,方程f(x)=0可用线性方程(切线)近似代替,即,f(x0)+f(x0)(x-x0)=0.(4.1),解此线性方程得,得迭代公式,此

10、式称为牛顿(Newton)迭代公式.,牛顿法有显然的几何意义,方程f(x)=0的根x*可解释为曲线y=f(x)与x轴交点的横坐标.设xk是根x*的某个近似值,过曲线y=f(x)上横坐标为xk的点Pk引切线,并将该切线与x轴交点的横坐标xk+1作为x*的新的近似值.注意到切线方程为,这样求得的值xk+1必满足(4.1),从而就是牛顿公式(4.2)的计算结果.由于这种几何背景,所以牛顿迭代法也称切线法.,y=f(x),xk+1,Pk,Pk+1,xk+2,牛顿迭代法的收敛性,设x*是f(x)的一个单根,即f(x*)=0,f(x*)0,有,牛顿迭代法的迭代函数为,由定理4的(2.9)式可得(4.3)式

11、,由此得到,当x*为单根时,牛顿迭代法在根x*的邻近是二阶(平方)收敛的.,关于x*为重根时,牛顿迭代法在根x*的邻近的收敛性在后面讨论.,定理(局部收敛性)设fC2a,b,若x*为f(x)在a,b上的根,且f(x*)0,则存在x*的邻域U,使得任取初值x0U,牛顿法产生的序列xk收敛到x*,且满足,即有下面的局部收敛性定理.,解 将原方程化为xex=0,则,牛顿迭代公式为,取 x0=0.5,迭代得,x1=0.566311,x2=0.5671431,x3=0.5671433.,f(x)=xex,f(x)=1+ex,,例7 用牛顿迭代法求方程x=ex在x=0.5附近的根.,7.4.3 简化牛顿法

12、与牛顿下山法,牛顿法的优点是收敛快,缺点每步迭代要计算f(xk)及f(xk),计算量较大,且有时f(xk)计算较困难;初始近似值x0只在根x*附近才能保证收敛,如x0给的不合适可能不收敛.为克服这两个缺点,通常可用下述方法.,(1)简化牛顿法,也称平行弦法,其迭代公式为,迭代函数为(x)=x-Cf(x).,若|(xk)|=|1-Cf(x)|1,即取0Cf(x)2.在根x*附近成立,则迭代法(4.7)局部收敛.,在(4.7)中取C=1/f(x0),则称为简化牛顿法,这类方法计算量省,但只有线性收敛,其几何意义是用平行弦与x轴交点作为x*的近似,见下图.,(2)牛顿下山法,牛顿法收敛性依赖初值x0

13、的选取,如果x0偏离所求根x*较远,则牛顿法可能发散.,注:Newtons Method收敛性依赖于x0的选取.,x*,7.4.4 重根情形,当x*为f(x)的m(m0)重根时,则f(x)可表为,f(x)=(x-x*)mg(x).,其中g(x*)0,此时用牛顿迭代法(4.2)求x*仍然收敛,只是收敛速度将大大减慢.事实上,因为迭代公式,令ek=xkx*,则,可见用牛顿法求方程的重根时仅为线性收敛.,从而有,7.5 弦截法与抛物线法,用牛顿法求方程f(x)=0的根,每步除计算f(xk)外还要算f(xk),当函数f(x)比较复杂时,计算f(x)往往比较困难,为此可以利用已求函数值f(xk),f(x

14、k-1),来回避导数值f(xk)的计算.这类方法是建立在插值原理基础上的,下面介绍两种常用方法.,7.5.1 弦截(割线)法,设xk,xk-1是f(x)=0的近似根,我们利用f(xk),f(xk-1)构造一次插值多项式p1(x),并用p1(x)=0的根作为方程f(x)=0的新的近似根xk+1,由于,因此有,这样导出的迭代公式(5.2)可以看做牛顿公式,中的导数 用差商 取代的结果.,(5.2)式有明显的几何意义:,设曲线y=f(x)上横坐标为xk-1和xk的点分别为P0和Pk,则差商 表示弦 的斜率,弦 的方程为,因此,按(5.2)式求得xk+1实际上是两点弦线 与x轴交点的横坐标(令y=0解

15、出x即可).这种算法因此而形象地称为弦截(割线)法.,弦截法与切线法(牛顿法)都是线性化分法,但两者有本质的区别.切线法在计算xk+1时只用到前一步的值xk,而弦截法要用到前面两步的结果xk-1,xk,因此使用这种方法必须先给出两个开始值x0,x1.,例题 用牛顿迭代法和割线法求方程 f(x)=x4+2x2x3=0,在区间(1,1.5)内之根(误差为10-9).,解 取x0=1.5,用牛顿法,可得x6;,取x0=1.5,x1=1,用双点割线法,迭代6次得到同样的结果,,7.5.2 抛物线法,设已知方程f(x)=0的三个近似根xk,xk-1,xk-2,我们以这三点为节点构造二次插值多项式p2(x

16、),并适当选取p2(x)的一个零点xk+1作为新的近似根,这样确定的迭代过程称为抛物线法,亦称为密勒(Mller)法.在几何图形上,这种方法的基本思想是用抛物线y=p2(x)与x轴的交点xk+1作为所求根x*的近似位置.,抛物线法的几何意义见下面图形.,现在推导抛物线法的计算公式.插值多项式,有两个零点,式中,因了在(5.3)式定出一个值xk+1,我们需要讨论根式前正负号的取舍问题.,在xk,xk-1,xk-2三个近似值中,自然假定xk更接近所求的根x*,这时,为了保证精度,我们选(5.3)式中接近xk的一个值作为新的近似根xk+1.为此,只要取根式前的符号与的符号相同.,例11 用抛物线法求

17、解方程f(x)=xex-1=0.,解 取x0=0.5,x1=0.6,x2=0.56532开始,计算得,f(x0)=-0.175639,f(x1)=0.093271,f(x2)=-0.005031.,fx1,x0=2.68910,fx2,x1=2.83373,fx2,x1,x0=2.21418.,故,代入(5.3)式求得,以上计算表明,抛物线法比弦截法收敛更快.,7.6 解非线性方程组的牛顿迭代法,考察方程组,其中f1,fn均为(x1,xn)的多元函数.若用向量记号记x=(x1,xn)TRn,F=(f1,fn)T,(6.1)就可写成,F(x)=0.(6.2),当n2,且 f1,fn 中至少有一个

18、是自变量 x1,xn 的非线性函数,则称方程组(6.1)为非线性方程组.非线性方程组求根问题是前面介绍的方程(即n=2)求根的直接推广,实际上只要把前面介绍的单变量函数f(x)看成向量函数F(x),则可得向量方程(6.2)的一个近似根x(k)=(x1(k),xn(k)T,将函数F(x)的分量fi(x)(i=1,n)在x(k)用多元函数泰勒展开,并取其线性部分,则可表示为.,令上式右端为零,得到线性方程组,其中,称为F(x)的雅可比(Jacobi)矩阵.求解线性方程组(6.3),并记解为x(k+1),则得,这就是解非线性方程组(6.2)的牛顿迭代法.,例12 求解方程组,给定初值x(0)=(1.5,1.0)T,用牛顿法求解.,解 先求Jacobi矩阵,用牛顿法(6.5)得,即,由x(0)=(1.5,1.0)T逐次迭代得到,x(3)的每一位都是有效数字.,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号