数值分析-方程求根.docVIP

  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文档。上传文档
查看更多
数值分析-方程求根

数学与计算科学学院 实 验 报 告 实验项目名称 方程求根 所属课程名称 数值方法B 实 验 类 型 验证 实 验 日 期 2014.11.13 班 级 数学1201班 学 号 201264100127 姓 名 莫吉超 成 绩 一、实验概述: 【实验目的】 1.熟练掌握用迭代法和牛顿法求非线性方程问题 2.能够编写迭代法和牛顿法求非线性方程的程序,进行求解 【实验原理】 1.迭代法原理: 对方程,在区间内,可改写成为: 取,用递推公式: 可得到序列: 当时,序列有极限,且在附近连续,则在式两边极限,得, 即为方程(的根。由和方程(.1)等价,所以, 即 式(.2)称为迭代式,也称为迭代公式;可称为迭代函数。称求得的序列为迭代序列。 设已知方程的近似根,则在附近可用一阶泰勒多项式近似代替.因此, 方程可近似地表示为.用表示的根,它与的根差异不大. 设,由于满足解得 重复这一过程,得到迭代格式 这就是著名的牛顿迭代公式,它相应的不动点方程为 . 【实验环境】 (1)win7操作系统 (2)matlab软件 二、实验内容: 【实验方案】 1.用迭代法求方程2x^3-x-1=0的在初值x0=0根;分别选取迭代函数为x=和x=求解。分析比较迭代函数选取的不同对收敛性的影响。 2.用牛顿法求x^3-x-1=0在x0=1.5和x0=0附近的根,迭代10次。分析比较初值的选取对迭代法的影响。 【实验过程】(实验步骤、记录、数据、分析) 2.牛顿迭代法求解过程 (2)编写牛顿迭代法的matlab程序 (3)分别求在x0=1.5和x0=0附近的根,迭代10次。具体结果如下; 当取x0=1.5时:迭代10次的结果分别为: x = 1.3478 x = 1.3252 x = 1.3247 x = 1.3247 x = 1.3247 x = 1.3247 x = 1.3247 x = 1.3247 x = 1.3247 x = 1.3247 当取x0=0时 x = -1 x = -0.5000 x = -3 x = -2.0385 x = -1.3903 x = -0.9116 x = -0.3450 x = -1.4278 x = -0.9424 x = -0.4049 【实验结论(结果) ,函数收敛,且所求的根为1.0000;当所取函数为,函数不收敛。 (2)在所给函数一样的情况下,选取不同的初值,对函数的收敛性有影响。在所给初值为x0=1.5时,函数收敛,所求根为1.3247,当所给初值为x0=0时,函数不收敛。 【实验小结 通过这次上机实验,更进一步的掌握了迭代法和牛顿法的解题思想,用例子证明了当所取的迭代函数不同及所取初值不同时对收敛性的影响,同时,也提高了自己利用matlab编程的能力,收获颇大。 三、指导教师评语及成绩: 评 语 评语等级 优 良 中 及格 不及格 1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强 2.实验方案设计合理 3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻) 4实验结论 成 绩: 指导教师签名: 批阅日期: 附录1:源 程 序 1、迭代法matlab程序 (1)建立名为fun.1的M文件 function y1=fun1(x) y1= 2*(x^3)-1; (2)建立名为diedai1.m的M文件 function [k,a,b,xk]=diedai1(x0,k) x(1)=x0; for i=1:k x(i+1)=fun1(x(i)); ;%程序中调用的fun1.m为函数y=φ(x) a= abs(x(i+1)-x(i)); b=a/( abs(x(i+1))+eps); i=i+1;xk=x(i);[(i-1) a b xk] end if (a1)(b0.5)(k3)

文档评论(0)

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

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

1亿VIP精品文档

相关文档