非线性方程求根SolutionsofNonlinearEquations.ppt

非线性方程求根SolutionsofNonlinearEquations.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§4 Newton - Raphson Method 改进与推广 /* improvement and generalization */ ? 重根 /* multiple root */ 加速收敛法: Q1: 若    ,Newton’s Method 是否仍收敛? 设 x* 是 f 的 n 重根,则: 且 对于牛顿法, A1: 有局部收敛性,但重数n越高,g?(x* )越接近于1,收敛越慢。 Q2: 如何加速重根的收敛? A2: 将求 f 的重根转化为求另一函数的单根。 ? 令     ,则 f 的重根 = ? 的单根。 重根的处理见《矩阵计算与方程求根》-曹志洁等;P.208 对f(x)求1,2阶导代入即得 §4 Newton - Raphson Method ? 正割法 /* Secant Method */ : Newton’s Method 一步要计算 f 和 f ?,相当于2个函数值,比较费时。现用 f 的值近似 f ? ,可少算一个函数值。 x0 x1 切线 /* tangent line */ 割线 /* secant line */ 切线斜率 ? 割线斜率 需要2个初值 x0 和 x1。 收敛比Newton’s Method 慢,且对初值要求同样高。 §4 Newton - Raphson Method ? 下山法 /* Descent Method */ ——Newton’s Method 局部微调: 原理 若由 xk 得到的 xk+1 不能使 | f | 减小,则在 xk 和 xk+1 之间找一个更好的点 ,使得 。 xk xk+1 注:? = 1 时就是Newton’s Method 公式。 当 ? = 1 代入效果不好时,将 ? 减半计算。 ? 抛物线法 /* Parabola Method */ ——利用插值将非线性方程转化为低次多项式求根 x0 x1 切线 /* tangent line */ 割线 /* secant line */ x2 x3 * * 第六章 非线性方程求根 /* Solutions of Nonlinear Equations */ §1 Introduction 科学技术中常遇到高次代数方程或超越方程的求根问题。大于4次的代数方程无求根公式。因此需要研究函数方程求根问题的数值方法。 求 f (x) = 0 的根或零点x* 求根问题包括下面三个问题: 根的存在性:即f(x)=0有没有根?若有,有 几个根? 哪儿有根?确定有根区间 根的精确化:已知一个根的近似值后,能否 将它精确到足够精度? 本章假设 f ?C[a, b],且 f (a) · f (b) 0,则 f 在 (a, b) 上至少有一根,(a,b)即为有根区间。问题1、2得到解决。 1. 逐步搜索法 §2 根的搜索 ? 1.逐步搜索法 设f (a) 0, f (b) 0,有根区间为 (a, b),从x0=a出发, 按某个预定步长(例如h=(b-a)/N)一步一步向右跨,每跨一步进行一次根的搜索,即判别f(xk)=f(a+kh)的符号,若f(xk)0(而f(xk-1)0),则有根区间缩小为[xk-1,xk] (若f(xk)=0,xk即为所求根), 然后从xk-1出发,把搜索步长再缩小,重复上面步骤,直到满足精度:|xk-xk-1|?为止,此时取x*≈(xk+xk-1)/2作为近似根。 ①无法求复根及偶重根 ② 计算量大,收敛慢 ①简单; ② 对f (x) 要求不高 (只要连续即可) . x0=a b xk-1 xk x* 2. Bisection Method ? 2. 二分法 /* Bisection Method */(逐步搜索法的改进) 设f(x)的有根区间为[a,b]= [a0,b0], f(a)0, f(b)0. 将[a0,b0],对分,中点x0= ((a0+b0)/2),计算f(x0), 若f(x0) =0, x*=x0 0,有根区间: [a1,b1]=[x0,b] 0,有根区间: [a1,b1]=[a, x0] 对[a1,b1]对分,如此反复进行,得到一系列有根区间: f(ak)?0, f(bk)?0, f(x*)=lim f(ak)= lim f(bk) a b x1 x2 x*

文档评论(0)

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

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

1亿VIP精品文档

相关文档