计算方法-非线性方程的数值解法.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算方法-非线性方程的数值解法

牛顿法举例 例2.4 用牛顿法求 解 将求 转化为求方程 则相应的牛顿迭代公式为 (k=0,1,2,…) (2.12) 可选取任意大于 的数,比如2作为根的初始近似值 的根 可选取任意大于 的数,比如2作为根的初始近似值 注:牛顿法初值选择的规则:f(x)f(x)0 收敛速度 定义2.1 设由迭代公式 产生的迭代序列 (k=0,1,2,…)收敛于方程 的根 ,记 ,若存在实数 及非零常数c,使得 则称迭代过程是p阶收敛的。 当p=1时,称为线性收敛; 当p1时,称为超线性收敛; 当p=2时,称为平方收敛。 显然,p越大收敛速度越快。 简单迭代的收敛速度 由微分中值定理可知,必存在一点 介于xk与 之间,使得 于是 由此可知,简单迭代法至少是线性收敛的。 将f(x)在xk作Taylor展开,存在ξk满足 将x=α代入f(x),得: 方程变形,得: 牛顿法的收敛速度 即: 牛顿迭代至少是平方收敛的。 收敛速度 函数在a处作Taylor展开 即 牛顿迭代至少是平方收敛的。 牛顿法的收敛速度 2.2.4 弦割法 用割线代替切线,格式为: 收敛速度比Newton迭代慢 x0 x1 切线 割线 1、 单点弦割法 : x0 x1 割线 x2 2、 双点弦割法 : 需要2个初值 x0 和 x1。 x0 x1 x2 第一次作业 2.7 证明计算 的牛顿迭代公式为 并用此迭代公式计算 ,精度要求为10-6。 代数理论,5次以上的代数方程没有公式解 * 求近似解的方法。 * * 计算机基础教育系 一般的高次代数方程或超越方程 什么是非线性方程 ! 本章恒设f(x)连续 何谓数值解法 根的存在性——介值定理 根的存在范围——根的隔离 根的精确化方法 重点算法:对分法、迭代法和牛顿法 Step 1 Step 2 Step 3 判断是否有根; 如果有根,有几个根 n次的代数方程最多有n个根 根的隔离,求隔根区间 试值法、作图法、扫描法 根的精确化 对分法、迭代法、牛顿法、弦割法 非线性方程的求解过程 2.1 根的隔离-试值法 例2.1 求方程 的隔根区间。 ,其定义域为 其导函数为 所以当 时, ,函数单调上升; 时, ,函数单调下降; 时, 解: 设 ,函数单调上升。 当 当 于是在每个区间上至多只有一个根。取几个特殊的点计算函数值,f (-4)= - 40,f (-3)=1,f (-1)=5,f (0)= -8,f (2)= -4,f (3)=37 可得到方程f (x)=0所有的隔根区间为 (-4,-3)、(-1,0)和(2,3)。 2.1 根的隔离-作图法 例2.2 求方程 的隔根区间。 解: 当x0时, 当x0时, 画出f(x)的草图如图2-1: 从图中可大致确定隔根区间为(-2,-1)、(-1,1)和(1,2)。 2.1 根的隔离-扫描法 扫描法就是将有根区间等分为若干个子区间,然后逐个小区间检验是不是隔根区间,检验的办法就是判断区间两端点的函数值是否异号。 a b 令x=a,取步长h,检验区间[x,x+h]上是否有根 x+h x [x,x+h]为一隔根区间,继续看下一个区间是否有根 x+2h x x+h 直到xb为止 扫描法的算法 输入有根区间的端点a, b及子区间长度h; ①若 ,则 输出隔根区间 ② (3) 若xb,则做循环 ;否则结束。 扫描法的算法 2、赋初值 1、输入数据 3、判断[x,x+h]内是否有根 4、继续判断下一个区间 输入有根区间的端点a, b及子区间长度h 若 若xb,则返回(3);否则结束 则 代数方程的实根的上、下界 对于代数方程 设 ,则其实根的上、下界分别为 和 由此即可确定其有根区间[a,b]。 2.2根的精确化 a b c c a b 什么时候停止? 或 2.2.1对分法的算法 (1) 输入隔根区间的端点a, b及预先给定的精度要求eps; (2) (a+b)/2=c; (3) 若f (c)=0,则结束循环; 否则若 ,则 否则 (4) 若b-aeps,转向(2)继续循环,否则结束循环; (5) 输出c。 每次缩小一倍的区间,收敛速度为1/2,较慢 且只能求一个根,使用条件限制较大 b x* a 从一个初值 x0 出发,计算 x1 =φ(x0), x2 = φ(x1), … xk+1 = φ(xk), 若 收敛,即存在 x* 使得 且 φ (x)连续,则由 可知x* = φ(x* ) 即x* 是 φ(x) 的不动点,也就是f (x)=0的根。 2.2.2 迭代法 f (x) = 0 x = φ (x) 等价变

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档