[理学]Ch05A:数值计算方法之非线性方程求解.ppt

[理学]Ch05A:数值计算方法之非线性方程求解.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]Ch05A:数值计算方法之非线性方程求解

第5章 非线性方程求解 工程设计和科学研究中的许多问题常常归结为求解一个单变元非线性方程 f(x)=0在某个区间[a,b]上的解。在绝大多数情况下问题的解难以象一元二次方程那样用公式表示出来,所以,研究出适用于一般的非线性方程求数值解的方法十分重要。 求函数零点的主要方法有:对分法,不动点算法,牛顿法以及割线法(牛顿法的变化形式)。 学了第10章之后,我们还可以用插值法解单变元非线性方程 。在某些情况下,利用插值方法的变化形式:抛物线逼近法也非常凑效。 5.1 预备知识 定义:设f(x)是定义在闭区间[a,b]上的连续函数,如果x*∈[a,b]使得f(x*)=0,则称x*是f(x)的一个零点。 提示:求非线性方程f(x)=0在闭区间[a,b]上的解实际上就是求非线性函数y=f(x)在[a,b]上的零点。 对于求非线性函数y=f(x)在[a,b]上的零点来说,我们可以利用高等数学中研究函数的一般方法来帮助我们寻找函数的零点。 1.求函数零点问题的几何解释 从几何图形看,函数f(x)在[a,b]上的零点x*就是曲线y=f(x)与x轴的交点。这个事实对我们求数值解很有启发作用。 2.介值定理的应用 利用机器求非线性方程的解,需要给出解所在的区间,我们称之为隔根区间,求隔根区间的工作通常由人工完成。 结论:由高等数学中的介值定理可知,如果f(x)是连续函数,而且f(a)·f(b)0,则方程f(x)=0在[a,b]内一定有解。 如图所示,只要f(a)和(b) 异号,函数的图像就一定 在[a,b]内和x轴相交,也 就是 f(x)=0在[a,b]内有解, 从而找到了隔根区间。 3.确定隔根区间的方法 根据介值定理,我们只要给出函数y=f(x)的定义域内两个点a,b,满足条件f(a)·f(b)0,则方程f(x)=0在[a,b]一定有解,从而得到一个隔根区间。 求隔根区间的方法有: 分析法:利用高等数学(数学分析)中的函数作图方法画出y=f(x)的大致曲线即可确定隔根区间;(学生最适用) 试算法:试探性地给出两个数a,b,若f(a)·f(b)0,则试算成功,否则修改a或b,重新试算;(适用于数学经验丰富者) 有哪些信誉好的足球投注网站法:从某一点开始,按一定的步长分别向左或向右逐点计算,直到出现相邻两点函数值异号。 (适用于工程师) 提示:当我们成为工程师以后,这个问题就不复存在。 4. 函数的极值点问题 定义1.2 设y= f(x)是定义在区间[a,b]上的连续函数,对于x*∈(a,b),如果存在δ0使得当|x-x*|δ时,恒有f(x*)≤f(x),则称x*是f(x)在(a,b)内的一个极小值点。 我们不难写出函数的极大值点的定义,不过可以通过反号的方法把求极大值的问题转化为求极小值的问题。 尽管许多实际问题是寻找函数在某个区间内的最小值点,如果我们找到了区间内所有的极小值点,并于区间端点的函数之比较,即可解决求最小值的问题。 对于可微函数来说,x*是极值点的必要条件是f’ (x*)=0。 稍晚些时我们将会看到,对于凸函数来说,极小值点也是最小值点,从而上面的必要条件变成充要条件。 5.2 区间对分法 对分法是非线性方程求解的一个古老的方法,不过在微积分学的一代大师菲赫金哥尔茨的眼中可并不是一个值得提倡的方法。 如果用手工计算,对分法的计算量的确较大,所以长期遭贬。 现在的高性能计算机终于使对分法展现出她本来的光辉:与其它方法相比,对分法适用的范围最大,数值稳定性性最好,算法特别简单,而且事先可以控制精度,所以应成为我们的首先方法。 弦外之音:对于自己不喜欢的人或事或物,不要因为自己一时不喜欢而轻易放弃,最好的态度是像菲赫金哥尔茨那样实事求是地对待:他不喜欢对分法,但他还是在他的著作中对这一方法作了完整的交待。 1.算法原理 直接取区间[a,b]的中点x=(a+b)/2作为问题的近似解.那么绝对误差限仅为区间长的一半.即e=(b-a)/2. 如果这个结果能满足精度要求,我们就停止进一步的计算;如果不能,就求出f(x),结果只能是下面三种情况之一: f(a)·f(x)0,此时我们有x*∈[a,x]; f(x)·f(b)0,此时我们有x*∈[x,b]; f(x)=0,此时x即为问题的精确解. 上面第三种情况一般不会发生,可以不予考虑.在前两种情况下,我们可以用x分别替换原问题中的b或a,从而把求解的区间减小了一半。这样我们又可以取新区间[a,b]的中点. 反复进行上述操作即可得到满足任意精度要求的近似解.事实上,经过N次迭代后,剩下的区间长为(b-a)/2N.这也是结果的绝对误差限. 2.算法的几何解释 如图所示: 首先取区间[a,b]的中点x0=(a+b)/2,计算出f(x0),根据f(x0)的符号判定问题的解是在[a,x0]中还是在[x0

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档