数值分析实验二分法.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文档。上传文档
查看更多
数值分析实验二分法

石家庄经济学院 实验报告 (学 院)系: 信息工程学院 专 业: 计算机科学与技术 姓 名: 000 班 级: 计科二班 学 号: 5111091111112 任课教师: 00 《数值分析》实验报告 姓名 学号日期 实验室 152机房 设备编号 实验题目 用二分法求f(x)=x^3+x^2-3x-3=0的正根(精确到1e -3) 牛顿法求x-cos(x)=0的实根,精确到小数后六位 一 实验目的 使用matlab编程,熟悉matlab编程环境。 分别使用二分法和牛顿法求方程的根,掌握二分法和牛顿法求方程根的过程及其算法。 深入分析二分法的优缺点和牛顿法与弦割法进行比较。 二 实验内容 1 二分法实验 f(x)=x^3-x^2-3*x-3=0 的正根(精度精确到0.001) 算法实现 步1:构造区间[a,b],取a=1,b=2.先把c=(a+b)/2代入方程f(x),如果fb*fc0说明根的区间在[a,c],及令b=c; 步2:如果fb*fc不大于0说明根的区间在[c,b],及令a=c;继续在新的区间内二分,直到达到要求的精度0.001; 步3:循环执行步骤1,2,直到步骤2的条件成立; 步4:取区间中点及c为所求方程的根; 参数说明 a,b: 区间端点 c: 每次所取区间的中间值 x :最后所求的近似值 ya,yb:对应的所求函数值 abs(): 求绝对值函数 源代码 clc close all format long; f=input(f(x)=); qujian=input(输入区间=) ; err=input(误差范围;); a=qujian(1); b=qujian(2); yc=1; while((b-a)err)(yc~=0); c=(a+b)/2; %设定中点 x=a; ya=eval(f); x=b; yb=eval(f); x=c; yc=eval(f); if ya*yc0 %当根不在左边的子区间时,把右边的子区间设为迭代范围 b=c; else %当根不在左边的子区间时,把右边的子区间设为迭代范围 a=c; end x0=c End 运行结果 erfenfa fx = 4.596249527821783e-005 x = 1.73205566406250 2 牛顿法实验 f(x)=x-cosx的正根(精度精确到0.000001) 算法实现 1:构造区间[-1,1] ,代入方程f(x),如果f(-1)*f(1)0说明根的区间在[-1,1]; 2:利用fzero(’x-cos(x)’),取得临界点0.5; 3:取f(x)的一介导数,构造牛顿方法; 4:在构造区间[-1,1]中计算得到所求的方程根; 5:循环次数k为10次; 6: 误差的大小为1E-6; 参数说明 Error:误差限 k: 循环的区间 p:原函数 dirv_p:原函数的一介导函数 funNewton:用户自定义的函数 abs(): 求绝对值函数 源代码: clear all; Error =1E-6; format long; x=0.5; for k=1:10 [p dirv_p]=funNewton(x); xk=x; x=x-p/dirv_p; if(abs(xk-x)=Error) break; end end %用户自定义函数: function [p dirv_p]=funNewton(x) p=x-cos(x); dirv_p=1+sin(x); 牛顿法和弦截法:与牛顿法相比,弦截法的收敛速度也是比较快的。可以证明,弦截法具有超线性收敛速度。 相同之处:都是线性化方法。 不同之处:牛顿法在计算xk+1时只用到前一步的值xk,故这种方法称为单点迭代法。 而弦截法在求xk+1时要用到前两步的值xk和xk-1,因此这种方法称为多点迭代法。 运行结果 end x x = 0.73908513321516 三 本次实验总结 通过

文档评论(0)

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

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

1亿VIP精品文档

相关文档