第七章 非线性方程的数值求法._第1页
第七章 非线性方程的数值求法._第2页
第七章 非线性方程的数值求法._第3页
第七章 非线性方程的数值求法._第4页
第七章 非线性方程的数值求法._第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 引言引言 在科学研究和工程设计中在科学研究和工程设计中, 经常会遇到的一大类经常会遇到的一大类问题是非线性方程问题是非线性方程 f(x)=0 (5.1)的求根问题,其中的求根问题,其中f(x)为非线性函数。为非线性函数。方程方程f(x)=0的根的根, 亦称为函数亦称为函数f(x)的零点的零点 如果如果f(x)可以分解成可以分解成 , ,其中其中m为为正整数且正整数且 , ,则称则称x x* *是是f(x)f(x)的的m重零点重零点, ,或称方或称方程程f(x)=0的的m重根。当重根。当m=1时称时称x x* *为单根。若为单根。若f(x)存存在在m阶导数阶导数, ,则是方程则是方程f(x)的

2、的m重根重根( (m1) 当且仅当当且仅当)()()(*xgxxxfm0)(*xg0)(, 0)()()(*)(*)1(*xfxfxfxfmm记笔记记笔记 当当f(x)f(x)不是不是x x的线性函数时,称对应的函数方程的线性函数时,称对应的函数方程为非线性方程。如果为非线性方程。如果f(x)f(x)是多项式函数,则称为代数是多项式函数,则称为代数方程,否则称为超越方程(三角方程,指数、对数方方程,否则称为超越方程(三角方程,指数、对数方程等)。一般称程等)。一般称n n次多项式构成的方程次多项式构成的方程 )0(00111nnnnnaaxaxaxa为为n n次代数方程次代数方程, ,当当n

3、n1 1时时, ,方程显然是非线性的方程显然是非线性的 一般稍微复杂的一般稍微复杂的3 3次以上的代数方程或超越方程次以上的代数方程或超越方程, ,很难甚至无法求得精确解。本章将介绍常用的求解很难甚至无法求得精确解。本章将介绍常用的求解非线性方程的近似根的几种数值解法非线性方程的近似根的几种数值解法 记笔记记笔记 本章介绍方程的迭代解法,它既可以用来求解代本章介绍方程的迭代解法,它既可以用来求解代数方程,也可以用来解超越方程,并且仅限于求数方程,也可以用来解超越方程,并且仅限于求方程的方程的实根。实根。运用迭代法求解方程的根应解决以下两个问题:运用迭代法求解方程的根应解决以下两个问题:n确定根

4、的初值确定根的初值;n将进一步精确化到所需要的精度。将进一步精确化到所需要的精度。记笔记记笔记7.1 二分法二分法 二分法又称二分区间法二分法又称二分区间法, ,是求解方程是求解方程( (5.1)5.1)的近的近似根的一种常用的简单方法。似根的一种常用的简单方法。 设函数设函数f(x)f(x)在闭区间在闭区间 a,ba,b上连续上连续, ,且且f(f(a)f()f(b)0,)0,根据连续函数的性质可知根据连续函数的性质可知, , f( (x)= 0)= 0在在( (a,b)a,b)内必有实根内必有实根, ,称区间称区间 a,ba,b为有根区间。为明确为有根区间。为明确起见起见, ,假定方程假定

5、方程f(x)=0f(x)=0在区间在区间 a,ba,b内有惟一实根内有惟一实根x x* *。 二分法的基本思想是二分法的基本思想是: : 首先确定有根区间首先确定有根区间, ,将区将区间二等分间二等分, , 通过判断通过判断f(x)f(x)的符号的符号, , 逐步将有根区间逐步将有根区间缩小缩小, , 直至有根区间足够地小直至有根区间足够地小, , 便可求出满足精度便可求出满足精度要求的近似根。要求的近似根。7.1.1确定有根区间的方法确定有根区间的方法 为了确定根的初值,首先必须圈定根所在的范围,为了确定根的初值,首先必须圈定根所在的范围, 称为称为圈定根或根的隔离圈定根或根的隔离。 在上述

6、基础上,采取适当的数值方法确定具有一定在上述基础上,采取适当的数值方法确定具有一定 精度要求的初值。精度要求的初值。 对于代数方程,其根的个数(实或复的)与其次数对于代数方程,其根的个数(实或复的)与其次数 相同。至于超越方程,其根可能是一个、几个或无相同。至于超越方程,其根可能是一个、几个或无 解,并没有什么固定的圈根方法解,并没有什么固定的圈根方法 求方程根的问题,就几何上讲求方程根的问题,就几何上讲,是求曲线是求曲线 y=f (x)与与 x轴交点的横坐标。轴交点的横坐标。 由高等数学知识知由高等数学知识知, 设设f (x)为区间为区间a,b上的单上的单值连续值连续, 如果如果f (a)f

7、 (b)0 , 则则a,b中至少有一个中至少有一个实根。如果实根。如果f (x)在在a,b上还是单调地递增或递减,上还是单调地递增或递减,则仅有一个实根。则仅有一个实根。记笔记记笔记n由此可大体确定根所在子区间,方法有:由此可大体确定根所在子区间,方法有: (1) 画图法画图法 (2) 逐步搜索法逐步搜索法y=f(x)abyx(1) 画图法画图法 画出画出y = f (x)的略图,从而看出曲线与的略图,从而看出曲线与x轴交点的轴交点的 大致位置。大致位置。 也可将也可将f (x) = 0分解为分解为 1(x)= 2(x)的形式,的形式, 1(x) 与与 2(x)两曲线交点的横坐标所在的子区间即

8、为含根两曲线交点的横坐标所在的子区间即为含根 区间。区间。例如例如 xlogx-1= 0= 0可以改写为可以改写为logx= =1/x画出对数曲线画出对数曲线y=logx, ,与双曲线与双曲线y= 1/x,它们交它们交 点的横坐标位于区间点的横坐标位于区间2,32,3内内(1) 画图法画图法xy1gxy 023yxn对于某些看不清根的函数,可以扩大一下曲线对于某些看不清根的函数,可以扩大一下曲线y0 xy=f(x)y=kf(x)记笔记记笔记y0 xABa1b1a2b2(2) 逐步搜索法逐步搜索法(2) (2) 搜索法搜索法 对于给定的对于给定的f (x),设有根区间为设有根区间为A, ,B,从

9、从x0=A出发出发, ,以步长以步长h=(B-A)/n(n是是正整数正整数),在在A, ,B内取内取定节点定节点: :xi=x0ih (i=0,1,2,n),从左至右检查从左至右检查f (xi)的符号的符号, ,如发现如发现xi与端点与端点x0的函数值异号的函数值异号, ,则得则得到一个缩小的有根子区间到一个缩小的有根子区间xi-1, ,xi。例例1 1 方程方程f(x)=xf(x)=x3 3-x-1=0 -x-1=0 确定其有根区间确定其有根区间解:用试凑的方法,不难发现解:用试凑的方法,不难发现 f(0)0f(0)0 在区间(在区间(0 0,2 2)内至少有一个实根)内至少有一个实根 设从

10、设从x=0 x=0出发出发, ,取取h=0.5h=0.5为步长向右进行根的为步长向右进行根的 搜索搜索, ,列表如下列表如下x xf(x)f(x)0 0.5 1.0 1.5 20 0.5 1.0 1.5 2 + + + +可以看出,在可以看出,在1.01.0,1.5,1.5内必有一根内必有一根 用逐步搜索法进行实根隔离的关键是选取步长用逐步搜索法进行实根隔离的关键是选取步长h 要选择适当要选择适当h ,使之既能把根隔离开来,工作量,使之既能把根隔离开来,工作量 又不太大。又不太大。 为获取指定精度要求的初值为获取指定精度要求的初值, ,可在以上隔离根的可在以上隔离根的 基础上采用对分法继续缩小

11、该含根子区间基础上采用对分法继续缩小该含根子区间 二分法可以看作是搜索法的一种改进。二分法可以看作是搜索法的一种改进。 取有根区间取有根区间a,b之中点之中点, 将它分为两半将它分为两半,分点分点 ,这样就可缩小有根区间这样就可缩小有根区间7.1.2 二分法求根过程二分法求根过程 设方程设方程f(x)=0在区间在区间a,b内有根内有根,二分法就是逐二分法就是逐步收缩有根区间,最后得出所求的根。步收缩有根区间,最后得出所求的根。具体过程如下具体过程如下 20bax y y=f(x) y=f(x) x* a x1 x* x0 b a x0 x1 b a1 b1 a1 b1 a2 b2 a2 b2

12、对压缩了的有根区间对压缩了的有根区间 施行同样的手法施行同样的手法, , 即取中点即取中点 , ,将区间将区间 再分为两半再分为两半, ,然然 后再确定有根区间后再确定有根区间 , ,其长度是其长度是 的的 二分之一二分之一 如此反复下去如此反复下去, ,若不出现若不出现 , ,即可得出一即可得出一 系列有根区间序列:系列有根区间序列: 上述每个区间都是前一个区间的一半上述每个区间都是前一个区间的一半, ,因此因此 的长度的长度11,ba2111bax11,ba22,ba11,ba0)(kxfkkbabababa,2211kkba ,)(21)(2111abababkkkkk 当当k时趋于零时

13、趋于零, ,这些区间最终收敛于一点这些区间最终收敛于一点x x* * 即为即为 所求的根所求的根 。每次二分后每次二分后, ,取有根区间取有根区间 的中点的中点作为根的近似值,得到一个近似根的序列作为根的近似值,得到一个近似根的序列 该序列以根该序列以根x x* *为极限为极限 只要二分足够多次只要二分足够多次( (即即k足够大足够大),),便有便有这里这里为给定精度为给定精度, ,由于由于 , ,则则 11122kkkkkababab1*22kkkkababxxkkba ,)(21kkkbax,210kxxxxkxx*kkbax,*当给定精度当给定精度0 0后后, ,要想要想 成立成立, ,

14、只要只要取取k满足满足 即可,亦即当即可,亦即当: kxx*)(211abk12lglg)lg(abk时时, ,做到第做到第k+1次二分次二分, ,计算得到的计算得到的 就是就是满足精度要求的近似根满足精度要求的近似根 。 在程序中通常用相邻的在程序中通常用相邻的 与与 的差的绝的差的绝对值或对值或 与与 的差的绝对值是否小于的差的绝对值是否小于来来决定二分区间的次数。决定二分区间的次数。 kxkx1kxkakb y n 开 始 输 入 a , b, (a+b)/2 x f(a) f(x )0 ? xb x a |b-a|0 输 出 x 结 束 y n 二分法算法实现二分法算法实现例例 求求方

15、程方程f( (x)=)=x3 3- -x-1=0 -1=0 在区间在区间1.0,1.5,1.5内内 的一的一 个实根个实根, 使误差不超过使误差不超过0.510-2。P215例例 证明方程证明方程 在区间在区间2, 3内有一个根内有一个根 , 使用二分法求误差不超过使用二分法求误差不超过0.510-3 的根要二的根要二 分多少次?分多少次?证明证明 令令 0523 xx52)(3xxxf016)3(, 01)2(ff且且f(x)f(x)在在2, 3上连续上连续, ,故方程故方程f(x)=0f(x)=0在在2,32,3内至少内至少有一个根。又有一个根。又 当时当时 时,时, , ,故故f(x)f

16、(x)在在2, 32, 3上是单调递增函数上是单调递增函数, ,从而从而f(x)f(x)在在2, 32, 3上有且仅有一根。上有且仅有一根。23)(2xxf3 , 2x0)( xf 给定误差限给定误差限 0.510-3 , ,使用二分法时使用二分法时 误差限为误差限为 只要取只要取k满足满足 )(211*abxxkk311021)(21 abk即可,亦即即可,亦即 3102 k97.92110lg3gk所以需二分所以需二分1010次便可达到要求。次便可达到要求。 二分法的优点是不管有根区间二分法的优点是不管有根区间 多大多大, ,总能总能求出满足精度要求的根求出满足精度要求的根, ,且对函数且

17、对函数f(x)f(x)的要求不高的要求不高, ,只要连续即可只要连续即可, ,计算亦简单计算亦简单; ;它的局限性是只能用于它的局限性是只能用于求函数的求函数的实根实根, ,不能用于求复根及重根不能用于求复根及重根, ,它的收敛速它的收敛速度与比值为度与比值为 的等比级数相同。的等比级数相同。 ba ,217.2 不动点迭代法及其收敛性不动点迭代法及其收敛性 对于一般的非线性方程对于一般的非线性方程, ,没有通常所说的求根没有通常所说的求根公式求其精确解公式求其精确解, ,需要设计近似求解方法需要设计近似求解方法, ,即迭代法。即迭代法。它是一种逐次逼近的方法它是一种逐次逼近的方法, ,用某个

18、固定公式反复校正用某个固定公式反复校正根的近似值根的近似值, ,使之逐步精确化,最后得到满足精度要使之逐步精确化,最后得到满足精度要求的结果。求的结果。7.2.1 7.2.1 迭代法的基本思想迭代法的基本思想 为求解非线性方程为求解非线性方程f(x)=0f(x)=0的根,先将其写成便的根,先将其写成便于迭代的等价方程于迭代的等价方程 (5.3) (5.3)其中其中 为为x x的连续函数的连续函数)(x)(xx即如果数即如果数 使使f(x)=0, 则也有则也有 , 反之反之, 若若 , 则也有则也有 , 称称 为迭代函数为迭代函数 .任任取一个初值取一个初值 , 代入式代入式 的右端的右端, 得

19、到得到 *x)(*xx)(*xx0)(*xf)(x0 x)(xx)(01xx再将再将 代入式代入式 的右端的右端, 得到得到 ,依依此类推此类推, 得到一个数列得到一个数列 , 其一般表示其一般表示 1x)(xx)(12xx)(23xx), 2 , 1 , 0()(1kxxkk式式( (5.4)5.4)称为求解非线性方程的称为求解非线性方程的简单迭代法简单迭代法。 ( (5.4)5.4)如果由迭代格式如果由迭代格式 产生的序列产生的序列 收敛收敛, ,即即 nx)(1kkxx*limxxnn则称迭代法收敛。则称迭代法收敛。 实际计算中实际计算中当然不可能也没必要无穷多步地做当然不可能也没必要无

20、穷多步地做下去下去, , 对预先给定的精度要求对预先给定的精度要求,只要某个只要某个k k满足满足1kkxx即可结束计算并取即可结束计算并取 kxx* 当然,迭代函数当然,迭代函数 的构造方法是多种多样的。的构造方法是多种多样的。)( x例例4 用迭代法求方程用迭代法求方程 在在x=1.5附近的一个根附近的一个根解解 将方程改写成如下两种等价形式将方程改写成如下两种等价形式 013 xx1)(1)(3231xxxxxx相应地可得到两个迭代公式相应地可得到两个迭代公式1)(1)(321311kkkkkkxxxxxx如果取初始值如果取初始值 1.51.5,用上述两个迭代公,用上述两个迭代公式分别迭

21、代,计算结果式分别迭代,计算结果0 x30111.51,(0,1,2,). kkxxxk(),kxk012345671.51.357211.330861.325881.324941.324761.324731.32472. ,39.12,375. 2 , 5 . 1, 1 (2) 21031xxxxxkk7.2.2 迭代法的几何意义迭代法的几何意义 通常将方程通常将方程f(x)=0 f(x)=0 化为与它同解的方程化为与它同解的方程的方法不止一种的方法不止一种, ,有的收敛有的收敛, ,有的不收敛有的不收敛, ,这取决于这取决于 的性态的性态, ,方程方程 的求根问题在几何上就是确定曲的求根问

22、题在几何上就是确定曲线线y= 与直线与直线y=x的交点的交点P*的横坐标的横坐标( (图图7-2所示所示) ) )(xx)(x)(xx)(x y=x y y=)(x y=x 1)(0*x 0)(1*x P0 P2P* Q1 Q2 x1 x0 x2 x* x y x0 x x1 x2 x3 x* y=)(x)(x P* P1 (a)(b) y=x y y=x y=)(x 1)(* x 1)(* x (c) (d) P* x1 x0 x y x0 x x1 x2 x3 x* y=)(x)(x x* x2 P* 图图7-2 迭代法的几何意义迭代法的几何意义 7.2.3 迭代法收敛的条件迭代法收敛的条

23、件 对方程对方程f(x)=0可以构造不同的迭代公式可以构造不同的迭代公式, 但但迭代公式迭代公式并非总是收敛。那么并非总是收敛。那么, ,当迭代函数当迭代函数 满足什么满足什么条件时,相应的迭代公式才收敛呢?即使迭代条件时,相应的迭代公式才收敛呢?即使迭代收敛时,我们也收敛时,我们也不可能迭代很多次,而是迭代不可能迭代很多次,而是迭代有限次后就停止有限次后就停止,这就需要估计迭代值的误差,这就需要估计迭代值的误差,以便适时终止迭代以便适时终止迭代 ),2, 1 ,0()(1kxxkk)(x定理定理1 .2 设函数设函数 在在a,b上具有连续的一阶导数上具有连续的一阶导数, 且且满足满足(1)对

24、所有的)对所有的xa,b 有有 a,b(2)存在存在 0 L 1 ,使所有的使所有的xa,b有有 L则方程则方程 在在a,b上的解上的解 存在且唯一存在且唯一,对任意的,对任意的 a ,b ,迭代过程迭代过程均收敛于均收敛于 。并有误差估计式。并有误差估计式 )(x)(x)(x)(xx*x0 x)(1kkxx*x1*1kkkxxLLxx01*1xxLLxxkk 由连续函数介值定理知由连续函数介值定理知, 必有必有 a, b, 使使 所以有解存在所以有解存在, 即即假设有两个解假设有两个解 和和 , , a, b,则则 由微分中值定理有由微分中值定理有其中其中是介于是介于 和和 之间的点之间的点

25、 从而有从而有a,b,进进而有而有 由条件由条件(2)有有 1, 所所以以 - =0,即,即 = ,解唯一。,解唯一。证证: 构造函数构造函数 ,由条件对任意的由条件对任意的xa, b a, b有有xxx)()(0)()(0)()(bbbaaa)(x*x0)()(*xxx*xx*xx)(*xx)(xx)()()(*xxxxxxx0)(1)(*xx)(x*xx*xx*x按迭代过程按迭代过程 ,有有 )(1kkxx)()()(1*1*kkkxxxxxx1*1*)(kkkxxLxxxx0*2*21*xxLxxLxxLxxkkkk 由于由于L1,L1,所以有所以有 , ,可见可见L L越小越小, ,收

26、敛越快收敛越快 *limxxkk再证误差估计式再证误差估计式 1*1kkkxxLLxx01*1xxLLxxkk 1*1*kkkkkxxxxLxxLxx)(1*kkkxxxxL1*)1 (kkkxxLxxL1*1kkkxxLLxx 即即 得证。得证。 2121211)()()(kkkkkkkkxxLxxxxxx012121*1111xxLLxxLLxxLxxkkkkkk即即 得证。得证。 10)(xx 开 始 输 入 x0,N 1 kk+ 1 k x1 x0 输 出 近 似 根 x1 |x1- x0|? 输 出 迭 代 失 败 标 志 结 束 n k0c0),),使使 )(1kkxx)(xx*x

27、kkxxe*ceepkkk1lim则称序列则称序列 是是 p 阶收敛的阶收敛的, ,c称渐近误差常数。称渐近误差常数。特别地特别地, ,p=1=1时称为线性收敛时称为线性收敛, ,p=2=2时称为平方收时称为平方收敛。敛。1 1 p 2 0 xn+1X*ayx0Bf(x)0a=x0yx0B=x0f(x)0ayx0Bf(x)0a =x0yx10 x0X*0 x0X*x2 不满足迭代条件时,可能导致迭代值远离不满足迭代条件时,可能导致迭代值远离根的情况而找不到根或死循环的情况根的情况而找不到根或死循环的情况 ?0)(0 xf 1000)()(xxfxfx ?01 xx 开 始 输 入 x0,N 1

28、 k k+ 1 k x1 x0 输 出 x1 输 出 迭 代 失 败 标 志 结 束 n k N ? n n y 输 出 奇 异 标 志 y y 7. .4. .4 牛顿迭代法的算法实现牛顿迭代法的算法实现例例 1 1 用用求求 x=e-x的根的根,=10-4解:因解:因 f (xk)= x ex 1 , f (x)=ex ( x+1)建立迭代公式建立迭代公式nxnnnxxnnnxexxxeexxxnnn 1)1 (11取取x0=0.5,逐次计算得逐次计算得 x1=0.57102, x2=0.56716, x3=0.567147. .4. .5 牛顿下山法牛顿下山法 通常通常, ,牛顿迭代法的

29、收敛性依赖于初始值牛顿迭代法的收敛性依赖于初始值 的选取的选取, ,如果如果 偏离所求的根偏离所求的根 比较远比较远, ,则牛顿法可能发散。则牛顿法可能发散。为了防止迭代发散为了防止迭代发散, ,我们对牛顿迭代法的迭代过程再附我们对牛顿迭代法的迭代过程再附加一项要求加一项要求, ,即具有单调性即具有单调性 0 x0 x*x)()(1kkxfxf 将牛顿迭代法与下山法结合起来使用将牛顿迭代法与下山法结合起来使用, ,即在下山即在下山法保证函数值下降的前提下法保证函数值下降的前提下, ,用牛顿迭代法加快收敛用牛顿迭代法加快收敛速度。把这一算法称为牛顿下山法。即速度。把这一算法称为牛顿下山法。即满足

30、这项要求的算法称下山法。满足这项要求的算法称下山法。)()(1kkkkxfxfxx其中其中(01)(01)为下山因子为下山因子 下山因子的选择是个逐步探索的过程,设从下山因子的选择是个逐步探索的过程,设从=1开始反复将开始反复将减半进行试算减半进行试算, 即逐次取即逐次取为为从中挑选下山因子,直至找到其中某个从中挑选下山因子,直至找到其中某个使单调性使单调性条件条件成立,则称成立,则称“下山成功下山成功”,否则,否则“下山失败下山失败”,这时需另选初值重算。这时需另选初值重算。,21,21,12)()(1kkxfxf重根情形重根情形.(4.13) ,)()( )(*)()(,1仍平方收敛可将迭

31、代法改为,牛顿法不是平方收敛重根情形kkkkmxfxfmxxxgxxxfm.0)(*,)(*)()()(*)()( )(*)(/ )()(的单根是故重根,则的是,若还可令xxxgxxxmgxgxxxmxfxxfxfx.(4.14) ,)()()()()( )(21仍平方收敛用牛顿法得对kkkkkkkxfxfxfxfxfxxx 42 440*2.xxx用上述三种方法求的二重根例例 ;)牛顿法:(kkkkxxxx42 121解解;)(kkkkxxxx22 )13. 4( 221.2)2( (4.14) 3221kkkkkxxxxx)(计算结果如下: kxk(1)(2)(3)0123x0 x1x2x

32、31.51.4583333331.4366071431.4254976191.51.4166666671.4142156861.4142135621.51.4117647061.4142114381.4142135627.5 弦截法弦截法 牛顿迭代法虽然具有收敛速度快的优点,牛顿迭代法虽然具有收敛速度快的优点,但每迭代一次都要计算导数但每迭代一次都要计算导数 , 当当 比较比较复杂时复杂时, 不仅每次计算不仅每次计算 带来很多不便,而带来很多不便,而且还可能十分麻烦,如果用不计算导数的迭且还可能十分麻烦,如果用不计算导数的迭代方法,往往只有线性收敛的速度。本节介代方法,往往只有线性收敛的速度。

33、本节介绍的弦截法便是一种不必进行导数运算的求绍的弦截法便是一种不必进行导数运算的求根方法。弦截法在迭代过程中不仅用到前一根方法。弦截法在迭代过程中不仅用到前一步步 处的函数值,而且还使用处的函数值,而且还使用 处的函数处的函数值来构造迭代函数,这样做能提高迭代的收值来构造迭代函数,这样做能提高迭代的收敛速度。敛速度。)(kxf )(xf)(kxfkx1kx 7.5.1 弦截法的基本思想弦截法的基本思想 为避免计算函数的导数为避免计算函数的导数 ,使用差商,使用差商 替代牛顿公式中的导数替代牛顿公式中的导数 ,便得到迭代公式便得到迭代公式 称为弦截迭代公式,称为弦截迭代公式, 相应的迭代法称为弦

34、截法相应的迭代法称为弦截法。)()()(11kkkkxxxfxf)(kxf )()()()(111kkkkkkkxxxfxfxfxx),2, 1(k)(kxf 7.5.2 弦截法几何意义弦截法几何意义弦截法也称割线法弦截法也称割线法, ,其几何意义是用过曲线上两其几何意义是用过曲线上两点点 、 的割线来代替曲线的割线来代替曲线, ,用割用割线与线与x轴交点的横座标作为方程的近似根轴交点的横座标作为方程的近似根 再过再过P1点和点点和点 作割线求出作割线求出 , ,再再过过P2点和点点和点 作割线求出作割线求出 , ,余余此类推,当收敛时此类推,当收敛时可求出满足精度要可求出满足精度要求的求的

35、P1 y=f(x) x0 x2 x3 x1 x* P3 P0 P2 )(,(000 xfxP)(,(111xfxP2x)(,(222xfxP3x)(,(333xfxP4xkx 可以证明,弦截法具有超线性收敛,收敛可以证明,弦截法具有超线性收敛,收敛的阶约为的阶约为1.618,它与前面介绍的一般迭代法,它与前面介绍的一般迭代法一样都是线性化方法,但也有区别。即一般迭一样都是线性化方法,但也有区别。即一般迭代法在计算代法在计算 时只用到前一步的值时只用到前一步的值 , ,故称之故称之为为单点迭代法单点迭代法;而弦截法在求;而弦截法在求 时要用到前两时要用到前两步的结果步的结果 和和 ,使用这种方法

36、必须给出两,使用这种方法必须给出两个初始近似根个初始近似根 ,这种方法称为,这种方法称为多点迭代多点迭代法法。 1kxkx1kx1kxkx10,xx例例 12 用弦截法求方程用弦截法求方程 在在 初始初始 值邻近的一个根。要求值邻近的一个根。要求解:取解:取 , , 令令 利用弦截迭代公式利用弦截迭代公式 计算结果,计算结果, 易见取近似根易见取近似根 则可满足精度要求。则可满足精度要求。xex5 . 00 x0001. 01kkxx5 . 00 x6.01xxexxf)()()()()(1111kkxxkkxkkkxxeexxexxxkkk56714. 04x7. .5. .3 弦截法算法实

37、现弦截法算法实现 ?0)(0 xf ?0)(1xf ?0)()(01xfxf 2010111)()()()(xxxxfxfxfx ?12 xx 输 入 x0, x1,N 1 k k+ 1 k x1 x0 x2 x1 f(x1)f(x0) f(x2) f(x1) 输 出 x2 输 出 迭 代 失 败 标 志 结 束 n k N ? n n y 输 出 奇 异 标 志 y y x0 x2 x1 x2 n y y n 输 出 x2 )(, )(,)( )( ,1211221kkkkkkkkkkkkxxxxxxxfxxxxfxfxpxxx,得到插值函数为插值节点和以).(,)(4)(2 0)(12112112kkkkkkkkkkkkkkxxxxxfxxfxxxfxfxfxxxp式中,得到两个零点:令.,)(4)sgn()(2 211kkkkkkkxxxfxfxfxx.*840. 1xp收敛到抛物线法按阶 抛物线法6 6 解非线性方程组的迭代法解非线性方程组的迭代法 . 0),(, 0),(, 0),( 21212211nnnnxxxfxxxfxxxf考虑非线性方程组 .)( OXF利用向量记号写为. ,*)( ,* .)(为非线性方程组的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论