- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATLAB实验三代数方程的近似解.ppt
数学实验 实验三 求代数方程的近似根(解) 问题背景和实验目的 相关概念 对分法 对分法 对分法收敛性 迭代法 迭代法的收敛性 迭代法收敛性判断 迭代法收敛性判断 迭代法收敛性判断 迭代法的加速 松弛迭代法 Altken 迭代法 Altken 迭代法 牛顿迭代法 牛顿法迭代公式 牛顿法迭代公式 Matlab 解方程函数 其他 Matlab 相关函数 附录:inline 自定义函数方式(三) 自定义函数方式(三) 上机作业 * * 实验三、近似求解代数方程 解方程(代数方程)是最常见的数学问题之一,也是众多应用领域中不可避免的问题之一。 目前还没有一般的解析方法来求解非线性方程,但如果在任意给定的精度下,能够解出方程的近似解,则可以认为求解问题已基本解决,至少可以满足实际需要。 本实验主要介绍一些有效的求解方程的数值方法:对分法,迭代法 和 牛顿法。同时要求大家学会如何利用Matlab 来求方程的近似解。 如果 f(x) 是一次多项式,称上面的方程为线性方程;否则称之为非线性方程。 线性方程 与 非线性方程 本实验主要讨论非线性方程的数值求解 基本思想 将有根区间进行对分,判断出解在某个分段内,然后再对该段对分,依次类推,直到满足给定的精度为止。 适用范围 求有根区间内的 单根 或 奇重实根。 数学原理:介值定理 设 f(x) 在 [a, b] 上连续,且 f(a) f(b)0,则由介值定理可得,在 (a, b) 内至少存在一点 ? 使得 f(?)=0。 具体步骤 设方程在区间 [a,b] 内连续,且 f(a)f(b)0,给定精度要求 ? ,若有 |f(x)|? ,则 x 就是我们所需要的 f(x) 在区间 (a,b) 内的 近似根。 ... ... Matlab程序见 fulu1.m 收敛性分析 设方程的根为 x* ? (ak , bk ) ,又 ,所以 0(k ?) 对分法总是收敛的 但对分法的收敛速度较慢 通常用来试探实根的分布区间, 或给出根的一个较为粗糙的近似。 根据上面的算法,我们可以得到一个每次缩小一半的区间序列 {[ak , bk ]} ,在 (ak , bk ) 中含有方程的根。 基本思想 构造 f (x) = 0 的一个等价方程: 从某个近似根 x0 出发,计算 得到一个迭代序列 k = 0, 1, 2, ... ... ? (x) 的不动点 f (x) = 0 x = ? (x) 等价变换 f (x) 的零点 若 收敛,即 ,假设 ?(x) 连续,则 收敛性分析 即 注:若得到的点列发散,则迭代法失效! 定义: 定理 2:如果定理 1 的条件成立,则有如下估计 如果存在 x* 的某个 邻域 ? =(x*-? , x* +? ), 使得对 ? x0 ? ? 开始的迭代 xk+1 = ?(xk) 都收敛, 则称该迭代法在 x* 附近局部收敛。 定理 1: 设 x* =?(x*),的某个 邻域 ? 内连续,且对 ?x?? 都有 |?’(x)|?q 1, 则对 ?x0? ?,由迭代 xk+1 = ?(xk) 得到的点列都收敛。 定理 3: 已知方程 x =?(x),且 (1) 对 ? x?[a, b],有 ?(x)?[a, b]; (2) 对 ? x?[a, b],有|?’(x)|?q 1; q 越小,迭代收敛越快 ?’(x*) 越小,迭代收敛越快 则对 ?x0?[a, b] ,由迭代 xk+1 = ?(xk) 得到的点列都收敛,且 以上所给出的收敛性定理中的条件的验证都比较困难,在实际应用中,我们常用下面不严格的判别方法: 当有根区间 [a, b] 较小,且对某一 x0?[a, b] ,|?’(x0)| 明显小于 1 时,则我们就认为迭代收敛 普通迭代法参考程序见 fulu2.m 设迭代 xk+1 = ?(xk) ,第 k 步和第 k+1 步得到的近似根分别为 xk 和 ?(xk) ,令 其中 wk 称为加权系数或权重。得新迭代 xk+1 = ?(xk) 加权系数 wk 的确定:令 ?’(x)=0 得 松弛法迭代公式: 松弛法具有较好的加速效果,甚至有些不收敛的迭代,加速后也能收敛。 缺点:每次迭代需计算导数 参考程序见 fulu4.m Altken迭代法 用 差商 近似 微商 设 x* 是方程的根,则由中值定理可得 Altken迭代公式 k = 0, 1, 2, ... ... Altken 法同样具有较好的加速效果 参考程序见 fulu5.m 令: 基本思想: 用线性方程来近似非线性方程
文档评论(0)