数学建模与实验课件ch26.pptxVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
问题背景和研究目的 解方程(代数方程)是最常见的数学问题之一,也是众多应用领域中不可避免的问题之一。 非线性方程没有一般的解析方法。 本节主要介绍一些有效的求解方程的数值方法:二分法,迭代法 ( 牛顿法)。同时要求学会利用Matlab 来求方程的近似解。 2.6 非线性方程近似根 根的隔离 若函数 f(x) 在闭区间[a,b]上连续,且 f(a)f(b)<0,则 f(x)在开区间 (a,b)内至少存在一个根。通过根的隔离,可假设此区间内存在唯一根 x*。 基本思想 二分法 将有根区间进行对分,判断出解在某个区间内,然后再对该区间对分,依次类推,直到满足给定的精度为止。 算法 二分法 设方程在区间 [a,b] 内连续,且 f(a)f(b)<0,给定精度要求  ,若有 |f(x)|< ,则 x 就是f(x) 在区间 (a,b) 内的 近似根。 收敛性分析 二分法收敛性 根据上面的算法,我们可以得到一个每次缩小一半的区间序列 {[an , bn ]} ,在 (an, bn ) 中含有方程的根。 二分法总是收敛的 二分法的收敛速度较慢 通常用来给出根的一个 较为粗糙的近似。 一步迭代法  (x) 的不动点 f (x) = 0 x =  (x) f (x) 的零点 (x) 称为迭代函数 若 收敛,即 ,假设 (x) 连续,则 收敛性分析 迭代法的收敛性 即 注:若得到的点列发散,则迭代法失效! 迭代法的收敛性判据 定理2.1:全局收敛 定理2.2:全局发散 定理2.3:局部收敛与发散 定理2.4:收敛速度 定义: 迭代法收敛性判断 如果存在 x* 的某个邻域  =(x*- , x* + ), 使得对  x0   开始的迭代 xk+1 = (xk) 都收敛, 则称该迭代法在 x* 附近局部收敛。 迭代法收敛性判断 L 越小,迭代收敛越快 收敛阶 为了进一步研究收敛速度问题,引入阶的概念: 记 ,如果 ( p=1时还要求0<c<1) 则称迭代是p阶收敛的。 p=1时,称为线性收敛, p>1时称为超线性收敛。 p越大收敛越快。 牛顿迭代法 牛顿迭代公式 k = 0, 1, 2, ... ... 牛顿迭代公式 牛顿法的优点 牛顿法是目前求解非线性方程 (组) 的主要方法 对于单重根迭代2阶收敛,收敛速度较快, 特别是当迭代点充分靠近精确解时。 在实际计算中,如果要求高精度,可以先用其它方法(如二分法)获得真解的一个粗糙近似,然后再用牛顿法求解。 牛顿迭代法大范围收敛性 割线法   与Newton法不同的是,用割线法计算 时,需要有两个初始值  。割线法是一种两步迭代法,不能直接用单步迭代法收敛性分析的结果。 下面给出割线法收敛性的定理。 Matlab 解方程的函数 roots(p):多项式的所有零点,p 是多项式系数向量。 fzero(f,x0):求 f=0 在 x0 附近的根,f 可以使用 inline、字符串、或 @,但不能是方程或符号表达式! solve(f,v):求方程关于指定自变量的解,f 可以是用字符串表示的方程、符号表达式或符号方程; solve 也可解方程组(包含非线性); 得不到解析解时,给出数值解。 linsolve(A,b):解线性方程组。 其他 Matlab 相关函数 g=diff(f,v):求符号表达式 f 关于 v 的导数 g=diff(f):求符号表达式 f 关于默认变量的导数 g=diff(f,v,n):求 f 关于 v 的 n 阶导数 diff f 是符号表达式,也可以是字符串 默认变量由 findsym(f,1) 确定 >> syms x >> f=sin(x)+3*x^2; >> g=diff(f,x) >> g=diff('sin(x)+3*x^2','x') 作业 用两种迭代法求解下面非线性方程的根: 1) Newton迭代法; 2)自己构造(非牛顿)一步迭代格式(需讨论并保证收敛性) 迭代过程可以计算器(机)编程实现: 迭代法的加速 设迭代 xk+1 = (xk) ,第 k 步和第 k+1 步得到的 近似根分别为 xk 和 (xk) ,令 其中 wk 称为加权系数或权重。得新迭代 xk+1 = (xk) 松弛迭代法 松弛法迭代公式: 松弛法具有较好的加速效果,甚至有些不收敛的迭代,加速后也能收敛。 缺点:每次迭代都需计算导数 Altken 迭代

文档评论(0)

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

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

1亿VIP精品文档

相关文档