《非线性方程的数值解法 精选PPT.ppt》由会员分享,可在线阅读,更多相关《非线性方程的数值解法 精选PPT.ppt(62页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、非线性方程的数值解法 第1页,此课件共62页哦记笔记记笔记非线性方程的数值解法非线性方程的数值解法 当当f(x)f(x)不是不是x x的线性函数时,称对应的函数方程为非线的线性函数时,称对应的函数方程为非线性方程。如果性方程。如果f(x)f(x)是多项式函数,则称为代数方程,否则是多项式函数,则称为代数方程,否则称为超越方程(三角方程,指数、对数方程等)。一般称为超越方程(三角方程,指数、对数方程等)。一般称称n n次多项式构成的方程次多项式构成的方程 为为n n次代数方程次代数方程,当当n n1 1时时,方程显然是非线性的方程显然是非线性的 一般稍微复杂的一般稍微复杂的3 3次以上的代数方程
2、或超越方程次以上的代数方程或超越方程,很很难甚至无法求得精确解。本章将介绍常用的求解非线性难甚至无法求得精确解。本章将介绍常用的求解非线性方程的近似根的几种数值解法方程的近似根的几种数值解法 第2页,此课件共62页哦记笔记记笔记非线性方程的数值解法非线性方程的数值解法 通常方程根的数值解法大致分为三个步骤进行通常方程根的数值解法大致分为三个步骤进行判定根的存在性。即方程有没有根?如果有判定根的存在性。即方程有没有根?如果有根,有几个根?根,有几个根?确定根的分布范围。即将每一个根用区间隔确定根的分布范围。即将每一个根用区间隔离开来,这个过程实际上是获得方程各根的离开来,这个过程实际上是获得方程
3、各根的初始近似值。初始近似值。根的精确化。将根的初始近似值按某种方法根的精确化。将根的初始近似值按某种方法逐步精确化,直到满足预先要求的精度为止逐步精确化,直到满足预先要求的精度为止第3页,此课件共62页哦本章介绍方程的迭代解法,它既可以用来求解代数方本章介绍方程的迭代解法,它既可以用来求解代数方程,也可以用来解超越方程,并且仅限于求方程的实程,也可以用来解超越方程,并且仅限于求方程的实根。根。运用迭代法求解方程的根应解决以下两个问题:运用迭代法求解方程的根应解决以下两个问题:n确定根的初值确定根的初值;n将进一步精确化到所需要的精度。将进一步精确化到所需要的精度。记笔记记笔记第4页,此课件共
4、62页哦二分法二分法 二分法又称二分区间法二分法又称二分区间法,是求解方程是求解方程(2.1)(2.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为有根区间。为明确起见为有根区间。为明确起见,假定方程假定方程f(x)=0f(x)=0在区间在区间 a,ba,b内有惟一实根内有惟一实根x x*。二分法的基本思想是二分法的基本思想是:首先确
5、定有根区间首先确定有根区间,将区间二等分将区间二等分,通过判断通过判断f(x)f(x)的符号的符号,逐步将有根区间缩小逐步将有根区间缩小,直至有根区间直至有根区间足够地小足够地小,便可求出满足精度要求的近似根。便可求出满足精度要求的近似根。第5页,此课件共62页哦确定有根区间的方法确定有根区间的方法 为了确定根的初值,首先必须圈定根所在的范围,为了确定根的初值,首先必须圈定根所在的范围,称为称为圈定根或根的隔离圈定根或根的隔离。在上述基础上,采取适当的数值方法确定具有一定在上述基础上,采取适当的数值方法确定具有一定 精度要求的初值。精度要求的初值。对于代数方程,其根的个数(实或复的)与其次数对
6、于代数方程,其根的个数(实或复的)与其次数 相同。至于超越方程,其根可能是一个、几个或无相同。至于超越方程,其根可能是一个、几个或无 解,并没有什么固定的圈根方法解,并没有什么固定的圈根方法 求方程根的问题,就几何上讲求方程根的问题,就几何上讲,是求曲线是求曲线 y=f(x)与与 x轴交点的横坐标。轴交点的横坐标。第6页,此课件共62页哦 由高等数学知识知由高等数学知识知,设设f(x)为区间为区间a,b上的单值连上的单值连续续,如果如果f(a)f(b)0,则则a,b中至少有一个实根。中至少有一个实根。如果如果f(x)在在a,b上还是单调地递增或递减,则仅有上还是单调地递增或递减,则仅有一个实根
7、。一个实根。记笔记记笔记n由此可大体确定根所在子区间,方法有:由此可大体确定根所在子区间,方法有:(1)画图法画图法 (2)逐步搜索法逐步搜索法y=f(x)abyx第7页,此课件共62页哦(1)画图法画图法 画出画出y=f(x)的略图,从而看出曲线与的略图,从而看出曲线与x轴交点的轴交点的 大致位置。大致位置。也可将也可将f(x)=0分解为分解为 1(x)=2(x)的形式,的形式,1(x)与与 2(x)两曲线交点的横坐标所在的子区间即为含根两曲线交点的横坐标所在的子区间即为含根 区间。区间。例如例如 xlogx-1=0=0可以改写为可以改写为logx=1/x画出对数曲线画出对数曲线y=logx
8、,与双曲线与双曲线y=1/x,它们交它们交 点的横坐标位于区间点的横坐标位于区间2,32,3内内第8页,此课件共62页哦(1)画图法画图法023yx第9页,此课件共62页哦n对于某些看不清根的函数,可以扩大一下曲线对于某些看不清根的函数,可以扩大一下曲线y0 xy=f(x)y=kf(x)(1)(1)画图法画图法画图法画图法记笔记记笔记第10页,此课件共62页哦y0 xABa1b1a2b2(2)逐步搜索法逐步搜索法(2)(2)搜索法搜索法 对于给定的对于给定的f(x),设有根区间为设有根区间为A,B,从从x0=A出发出发,以步长以步长h=(B-A)/n(n是是正整数正整数),在在A,B内取定节点
9、内取定节点:xi=x0ih(i=0,1,2,n),从左至右检查从左至右检查f(xi)的符号的符号,如发现如发现xi与端点与端点x0的函数值异号的函数值异号,则得到一个缩小的有则得到一个缩小的有根子区间根子区间xi-1,xi。第11页,此课件共62页哦例例1 1 方程方程f(x)=xf(x)=x3 3-x-1=0 -x-1=0 确定其有根区间确定其有根区间解:用试凑的方法,不难发现解:用试凑的方法,不难发现 f(0)0f(0)0 在区间(在区间(0 0,2 2)内至少有一个实根)内至少有一个实根 设从设从x=0 x=0出发出发,取取h=0.5h=0.5为步长向右进行根的为步长向右进行根的 搜索搜
10、索,列表如下列表如下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内必有一根内必有一根第12页,此课件共62页哦 用逐步搜索法进行实根隔离的关键是选取步长用逐步搜索法进行实根隔离的关键是选取步长h 要选择适当要选择适当h,使之既能把根隔离开来,工作量,使之既能把根隔离开来,工作量 又不太大。又不太大。为获取指定精度要求的初值为获取指定精度要求的初值,可在以上隔离根的可在以上隔离根的 基础上采用对分法继续缩小该含根子区间基础上采用对分法继续缩小该含根子区间 二分法可以看作是搜索法的一种改进。二分法可以看作
11、是搜索法的一种改进。第13页,此课件共62页哦 取有根区间取有根区间a,b之中点之中点,将它分为两半将它分为两半,分点分点 ,这样就可缩小有根区间这样就可缩小有根区间2.2.2 二分法求根过程二分法求根过程 设设方方程程f(x)=0在在区区间间a,b内内有有根根,二二分分法法就就是是逐逐步步收缩有根区间,最后得出所求的根。收缩有根区间,最后得出所求的根。具体过程如下具体过程如下 第14页,此课件共62页哦 对压缩了的有根区间对压缩了的有根区间 施行同样的手法施行同样的手法,即取中点即取中点 ,将区间将区间 再分为两半再分为两半,然然 后再确定有根区间后再确定有根区间 ,其长度是其长度是 的的
12、二分之一二分之一 如此反复下去如此反复下去,若不出现若不出现 ,即可得出一即可得出一 系列有根区间序列:系列有根区间序列:上述每个区间都是前一个区间的一半上述每个区间都是前一个区间的一半,因此因此 的长度的长度 当当k时趋于零时趋于零,这些区间最终收敛于一点这些区间最终收敛于一点x x*即为即为 所求的根所求的根。第15页,此课件共62页哦每次二分后每次二分后,取有根区间取有根区间 的中点的中点作为根的近似值,得到一个近似根的序列作为根的近似值,得到一个近似根的序列 该序列以根该序列以根x x*为极限为极限 只要二分足够多次只要二分足够多次(即即k足够大足够大),),便有便有这里这里为给定精度
13、为给定精度,由于由于 ,则则 第16页,此课件共62页哦当给定精度当给定精度0 0后后,要想要想 成立成立,只要只要取取k满足满足 即可,亦即当即可,亦即当:时时,做到第做到第k+1次二分次二分,计算得到的计算得到的 就是满足精就是满足精度要求的近似根度要求的近似根。在程序中通常用相邻的在程序中通常用相邻的 与与 的差的绝对值或的差的绝对值或 与与 的差的绝对值是否小于的差的绝对值是否小于来决定二分区间的来决定二分区间的次数。次数。第17页,此课件共62页哦 二二分分法法算算法法实实现现第18页,此课件共62页哦例例求求方程方程f(x)=)=x3 3-x-1=0 -1=0 在区间在区间1.0,
14、1.5,1.5内内 的一的一 个实根个实根,使误差不超过使误差不超过0.510-2。P19例例 证明方程证明方程 在区间在区间2,3内有一个根内有一个根 ,使用二分法求误差不超过使用二分法求误差不超过0.510-3 的根要二的根要二 分多少次?分多少次?证明证明 令令 且且f(x)f(x)在在2,3上连续上连续,故方程故方程f(x)=0f(x)=0在在2,32,3内至少有内至少有一个根。又一个根。又 当时当时时,时,,故故f(x)f(x)在在2,32,3上是单调递增函数上是单调递增函数,从而从而f(x)f(x)在在2,32,3上有且仅有一根。上有且仅有一根。给定误差限给定误差限 0.510-3
15、,使用二分法时使用二分法时第19页,此课件共62页哦 误差限为误差限为 只要取只要取k满足满足 即可,亦即即可,亦即 所以需二分所以需二分1010次便可达到要求。次便可达到要求。二分法的优点是不管有根区间二分法的优点是不管有根区间 多大多大,总能总能求出满足精度要求的根求出满足精度要求的根,且对函数且对函数f(x)f(x)的要求不高的要求不高,只只要连续即可要连续即可,计算亦简单计算亦简单;它的局限性是只能用于求函数的它的局限性是只能用于求函数的实根实根,不能用于求复根及重根不能用于求复根及重根,它的它的收敛速度收敛速度与比值为与比值为 的等比级数相同。的等比级数相同。第20页,此课件共62页
16、哦2.3 迭代法迭代法 对于一般的非线性方程对于一般的非线性方程,没有通常所说的求根公没有通常所说的求根公式求其精确解式求其精确解,需要设计近似求解方法需要设计近似求解方法,即迭代法。它即迭代法。它是一种逐次逼近的方法是一种逐次逼近的方法,用某个固定公式反复校正根用某个固定公式反复校正根的近似值的近似值,使之逐步精确化,最后得到满足精度要求使之逐步精确化,最后得到满足精度要求的结果。的结果。2.3.1 2.3.1 迭代法的基本思想迭代法的基本思想 为求解非线性方程为求解非线性方程f(x)=0f(x)=0的根,先将其写成便于迭代的根,先将其写成便于迭代的等价方程的等价方程 (2.3)(2.3)其
17、中其中 为为x x的连续函数的连续函数第21页,此课件共62页哦2.3 迭代法迭代法即如果数即如果数 使使f(x)=0,则也有则也有 ,反之反之,若若 ,则也有则也有 ,称称 为迭代函数为迭代函数 任取任取一个初值一个初值 ,代入式代入式 的右端的右端,得到得到 再将再将 代入式代入式 的右端的右端,得到得到 ,依依此类推此类推,得到一个数列得到一个数列 ,其一般表示其一般表示 式式(2.4)(2.4)称为求解非线性方程的称为求解非线性方程的简单迭代法简单迭代法。(2.4)(2.4)第22页,此课件共62页哦如果由迭代格式如果由迭代格式 产生的序列产生的序列 收敛收敛,即即 则称迭代法收敛。则
18、称迭代法收敛。实实际际计计算算中中当当然然不不可可能能也也没没必必要要无无穷穷多多步步地地做做下下去去,对预先给定的精度要求对预先给定的精度要求,只要某个只要某个k k满足满足即可结束计算并取即可结束计算并取 当然,迭代函数当然,迭代函数 的构造方法是多种多样的。的构造方法是多种多样的。第23页,此课件共62页哦例例4 用迭代法求方程用迭代法求方程 在在x=1.5附近的一个根附近的一个根解解 将方程改写成如下两种等价形式将方程改写成如下两种等价形式 相应地可得到两个迭代公式相应地可得到两个迭代公式如果取初始值如果取初始值 1.51.5,用上述两个迭代公式分,用上述两个迭代公式分别迭代,计算结果
19、见别迭代,计算结果见P P2121 第24页,此课件共62页哦2.3.2 迭代法的几何意义迭代法的几何意义 通常将方程通常将方程f(x)=0f(x)=0化为与它同解的方程化为与它同解的方程的方法不止一种的方法不止一种,有的收敛有的收敛,有的不收敛有的不收敛,这取决于这取决于 的性的性态态,方程方程 的求根问题在几何上就是确定曲线的求根问题在几何上就是确定曲线y=与直线与直线y=x的交点的交点P*的横坐标的横坐标(图图2-3所示所示)(a)(b)第25页,此课件共62页哦图图2-3 迭代法的几何意义迭代法的几何意义 第26页,此课件共62页哦2.3.3 迭代法收敛的条件迭代法收敛的条件 对方程对
20、方程f(x)=0可以构造不同的迭代公式可以构造不同的迭代公式,但迭代但迭代公式公式并非总是收敛。那么并非总是收敛。那么,当迭代函数当迭代函数 满足什么条满足什么条件时,相应的迭代公式才收敛呢?即使迭代收敛时,件时,相应的迭代公式才收敛呢?即使迭代收敛时,我们也不可能迭代很多次,而是迭代有限次后就停我们也不可能迭代很多次,而是迭代有限次后就停止,这就需要估计迭代值的误差,以便适时终止迭止,这就需要估计迭代值的误差,以便适时终止迭代代 第27页,此课件共62页哦定理定理2.1 设函数设函数 在在a,b上具有连续的一阶导上具有连续的一阶导 数数,且满足且满足 (1)对所有的)对所有的xa,b 有有
21、a,b (2)存在存在 0 L 1,使所有的使所有的xa,b有有 L则方程则方程 在在a,b上的解上的解 存在且唯一存在且唯一,对任意的,对任意的 a,b,迭代过程迭代过程均收敛于均收敛于 。并有误差估计式。并有误差估计式 第28页,此课件共62页哦由连续函数介值定理知由连续函数介值定理知,必有必有 a,b,使使 所以有解存在所以有解存在,即即假设有两个解假设有两个解 和和 ,a,b,则则,由微分中值定理有由微分中值定理有其中其中是介于是介于x*和和 之间的点之间的点 从而有从而有a,b,进而有进而有 由条件由条件(2)有有 1,所以所以 -=0,即,即 =,解唯一。解唯一。证证:构造函数构造
22、函数 ,由条件由条件对任意的对任意的xa,b a,b有有第29页,此课件共62页哦按迭代过程按迭代过程 ,有有 由于由于L1,L0c0),),使使 则称序列则称序列 是是 p 阶收敛的阶收敛的,c称渐近误差常数。特别称渐近误差常数。特别地地,p=1=1时称为线性收敛时称为线性收敛,p=2=2时称为平方收敛。时称为平方收敛。1 1 p 20 xn+1X*ayx0Bf(x)0a=x0yx0B=x0f(x)0ayx0Bf(x)0a=x0 2.4.3 牛顿迭代法的收敛性牛顿迭代法的收敛性第49页,此课件共62页哦yx10 x0X*0 x0X*x2 不满足迭代条件时,可能导致迭代值远离不满足迭代条件时,
23、可能导致迭代值远离根的情况而找不到根或死循环的情况根的情况而找不到根或死循环的情况2.4.3 牛顿迭代法的收敛性牛顿迭代法的收敛性第50页,此课件共62页哦2.4.4 牛牛顿顿迭迭代代法法的的算算法法实实现现第51页,此课件共62页哦例例2.11 用用牛顿迭代法牛顿迭代法求求 x=e-x的根的根,=10-4解:因解:因 f(xk)=x ex 1,f(xk)=ex(x+1)建立迭代公式建立迭代公式取取x0=0.5,逐次计算得逐次计算得 x1=0.57102,x2=0.56716,x3=0.56714第52页,此课件共62页哦2.4.5 牛顿下山法牛顿下山法 通常通常,牛顿迭代法的收敛性依赖于初始
24、值牛顿迭代法的收敛性依赖于初始值 的选取的选取,如果如果 偏离所求的根偏离所求的根 比较远比较远,则牛顿法可能发散。为了防止迭代则牛顿法可能发散。为了防止迭代发散发散,我们对牛顿迭代法的迭代过程再附加一项要求我们对牛顿迭代法的迭代过程再附加一项要求,即具有即具有单调性单调性 将牛顿迭代法与下山法结合起来使用将牛顿迭代法与下山法结合起来使用,即在下山法保证即在下山法保证函数值下降的前提下函数值下降的前提下,用牛顿迭代法加快收敛速度。把这一用牛顿迭代法加快收敛速度。把这一算法称为牛顿下山法。即算法称为牛顿下山法。即满足这项要求的算法称下山法。满足这项要求的算法称下山法。其中其中(01)(01)为下
25、山因子为下山因子 第53页,此课件共62页哦 下下山山因因子子的的选选择择是是个个逐逐步步探探索索的的过过程程,设设从从=1开开始始反复将反复将减半进行试算减半进行试算,即逐次取即逐次取为为从中挑选下山因子,直至找到其中某个从中挑选下山因子,直至找到其中某个使单调性条件使单调性条件成立,则称成立,则称“下山成功下山成功”,否则,否则“下山失败下山失败”,这时需另选初值重算。这时需另选初值重算。第54页,此课件共62页哦2.5 弦截法弦截法 牛牛顿顿迭迭代代法法虽虽然然具具有有收收敛敛速速度度快快的的优优点点,但但每每迭迭代代一一次次都都要要计计算算导导数数 ,当当 比比较较复复杂杂时时,不不仅
26、仅每每次次计计算算 带带来来很很多多不不便便,而而且且还还可可能能十十分分麻麻烦烦,如如果果用用不不计计算算导导数数的的迭迭代代方方法法,往往往往只只有有线线性性收收敛敛的的速速度度。本本节节介介绍绍的的弦弦截截法法便便是是一一种种不不必必进进行行导导数数运运算算的的求求根根方方法法。弦弦截截法法在在迭迭代代过过程程中中不不仅仅用用到到前前一一步步 处处的的函函数数值值,而而且且还还使使用用 处处的的函函数数值值来来构构造造迭迭代代函函数数,这这样样做做能能提高迭代的收敛速度。提高迭代的收敛速度。第55页,此课件共62页哦 2.5.1 弦截法的基本思想弦截法的基本思想 为避免计算函数的导数为避
27、免计算函数的导数 ,使用差商,使用差商 替代牛顿公式中的导数替代牛顿公式中的导数 ,便得到迭代公式便得到迭代公式 称为弦截迭代公式,称为弦截迭代公式,相应的迭代法称为弦截法相应的迭代法称为弦截法。第56页,此课件共62页哦2.5.2 弦截法几何意义弦截法几何意义弦截法也称割线法弦截法也称割线法,其几何意义是用过曲线上两点其几何意义是用过曲线上两点 、的割线来代替曲线的割线来代替曲线,用割线与用割线与x轴交点的横轴交点的横座标作为方程的近似根座标作为方程的近似根 再过再过P1点和点点和点 作作割线求出割线求出 ,再过再过P2点和点点和点 作割作割线求出线求出 ,余此类推,余此类推,当收敛时可求出
28、满足当收敛时可求出满足精度要求的精度要求的第57页,此课件共62页哦 可以证明,弦截法具有超线性收敛,收敛的阶约可以证明,弦截法具有超线性收敛,收敛的阶约为为1.618,它与前面介绍的一般迭代法一样都是,它与前面介绍的一般迭代法一样都是线性化方法,但也有区别。即一般迭代法在计算线性化方法,但也有区别。即一般迭代法在计算 时只用到前一步的值时只用到前一步的值 ,故称之为单点迭代法;,故称之为单点迭代法;而弦截法在求而弦截法在求 时要用到前两步的结果时要用到前两步的结果 和和 ,使用这种方法必须给出两个初始近似根,使用这种方法必须给出两个初始近似根 ,这种方法称为多点迭代法,这种方法称为多点迭代法
29、。第58页,此课件共62页哦例例2.12 用弦截法求方程用弦截法求方程 在在 初始初始 值邻近的一个根。要求值邻近的一个根。要求解:取解:取 ,令令 利用弦截迭代公式利用弦截迭代公式 计算结果见计算结果见P34列表,列表,易见取近似根易见取近似根 则可满足精度要求。则可满足精度要求。第59页,此课件共62页哦2.5.3 弦弦截截法法算算法法实实现现 第60页,此课件共62页哦 非非线线性性方方程程的的解解通通常常叫叫做做方方程程的的根根,也也叫叫做做函函数数的的零零点点,本本章章讨讨论论了了求求解解非非线线性性方方程程近近似似根根常常用用的的一一些些数数值值方方法法。先先要要确确定定有有根根区
30、区间间,且且对对于于收收敛敛的的迭迭代代格格式式,这这个个区区间间要要足足够够小小。针针对对各各种种求求根根的的数数值值方方法法的的特特点点,要要考考虑虑其其收敛性、收敛速度和计算量。收敛性、收敛速度和计算量。二二分分法法是是逐逐步步将将含含根根区区间间分分半半,主主要要用用来来求求实实根根;迭迭代代法法是是一一种种逐逐次次逼逼近近的的方方法法,起起着着把把根根的的精精确确值值一一步步一一步步算算出出来来的的作作用用;牛牛顿顿法法具具有有较较快快的的收收敛敛速速度度,但但对对初初值值选选取取要要求求较较高高。弦弦截截法法避避开开了了导导数数的的计计算算,具具有有超超线线性性的的收收敛敛速速度度,每计算一步每计算一步,要用到前面两步的信息。要用到前面两步的信息。本章小结本章小结第61页,此课件共62页哦Format long efzero(x4+4*x2-10,1)(2题)fzero(x3+4*x2-10,1)(3题)fzero(x3-x2-1,1.5)(5 题)第62页,此课件共62页哦