网站大量收购独家精品文档,联系QQ:2885784924

第二章论文.doc

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

《数值分析》实验报告 实验题目 非线性方程求解 专业、班级 硕环工111 学号 2112223051 姓名 方敏 课程编号实验类型 验证性 学时 48学时 实验(上机)地点 完成时间 任课教师 刘敬刚 评分 一、实验目的及要求 1 掌握非线性方程数值解法的基本概念、方法; 2 理解二分法、牛顿法、割线法、斯蒂芬森法求解非线性方程的原理、方法、步骤,会用计算机进行编程求解; 3 掌握运用Matlab进行数值计算的能力。 二、研究、解答以下问题 问题:分别用二分法、牛顿迭代法、割线法、斯蒂芬森迭代法求方程 的根,观察不同初试值条件下的收敛性,并给出结论 【解】: 2.1 算法分析 二分法 二分法伪代码如下所示; 输入:,定义函数,给定精度 输出:待解方程的根。 while if 由于本题中恒大于0,不满足二分法的条件,故本例无法通过二分法求出方程的根。 (2)牛顿迭代法 牛顿迭代法迭代法迭代公式为: a).对单根条件下,牛顿迭代法平方收敛,牛顿迭代法程序框图如下所示: b). 对重根条件下,此时迭代公式修改为 此时,牛顿迭代法至少平方收敛。 (3)割线法 割线法的迭代公式为: ] 割线法是超线性收敛,其程序流程图为 (4)斯蒂芬森迭代法 斯蒂芬森迭代法的计算格式为 斯蒂芬森迭代法程序流程图与牛顿迭代法类似。 2.2迭代结果 分别取初试值为,运用牛顿迭代法、割线法()、,斯蒂芬森法求得根如下(误差精度,数据结够为(format long)) 牛顿迭代法 割线法 斯蒂芬森法 未考虑重根 考虑重根 1 0.7524647887323 1.0147887323943 0.6999763241023 0.9895610856203 2 0.7954236245124 1.0000363575693 0.6999526372068 0.9999848725311 3 0.8306913539722 1.0000000002203 0.7524357432815 0.9999999999682 4 0.8597145503620 1.0000000000000 0.7784770276292 1.0000000000000 5 0.8836487289229 0.8074195637804 6 0.9034211164477 0.8305334214151 7 0.9197795580534 0.8514440083581 …… …… …… 64 0.9999958165495 0.9998927397768 …… 85 0.9999924537033 表1 时,不同迭代方法迭代结果 牛顿迭代法 割线法 斯蒂芬森法 未考虑重根 考虑重根 1 1.8529411764705 1.1176470588235 1.9677760435023 0.9186980626830 2 1.7258825923114 1.0022487868386 1.9406643838244 0.9186980626830 3 1.6163939446397 1.0000008425224 1.9406643838244 0.9186980626830 4 1.5223105411680 1.0000000000001 1.9406643838244 0.9186980626830 5 1.4416990812267 1.9406643838244 6 1.3728310917166 1.5849504641737 7 1.3141624872713 1.5849504641737 …… …… …… 65 1.0000085397619 1.0003773276313 …… 68 1.0000049419954 0.9999924537033 …… 95 1.0000075015608 表2 时,不同迭代方法迭代结果 2.3 分析 通过表1、表2不难分析出如下结论: (1)牛顿法、割线法、斯蒂芬森法本题下均收敛,可以求出误差范围内的根。 (2)对于重根情况下,牛顿法的收敛速度会变慢变为线性收敛。为解决这一问题,可以对牛顿迭代公式进行修正,此时至少能够保证迭代是平方收敛,使得求解速度大大加快。 (3)割线法的收敛速度小于牛顿法。 (4)运用斯蒂芬森法可以对牛顿迭代法进行加速。 三、本次实验的难点分析 1、本次试验是数值分析课程的第一次试验,重温了matlab的基本语法与操作。由于本科时使用matlab,对于matlab中自定义函数的建立与运用还有欠缺。这是本次试验中耗时较多的部分。 2、本次试验,原设计在牛顿迭代法程序中加入判断导数值是否是个小值(导数值为零)的过程,以防止分母出现较小的值。但是程序运行过程中导数值始终会

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档