牛顿迭代法实验报告.docxVIP

  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文档。上传文档
查看更多
牛顿迭代法实验报告

实验报告 方程求根——牛顿迭代法一、目的和要求1)通过对牛顿迭代法的编程练习,掌握方程求根的牛顿迭代法的算法;2)通过对牛顿迭代法的上机运算,进一步体会牛顿迭代法的特点。二、实习内容1)牛顿迭代法的编程实现。2)进行初值和误差限的比较和讨论。三、算法流程图:算法:用迭代法的结构,增设4个工作单元F0, F0’, F1, F1’,并把用作终止迭代的误差控制改为两个|x1-x0|EPS或|f(x1)|DELTA。1.准备:选定初始值x0, 计算F0=f(x0); F0’=f’(x0), 如果F0’=0,则输出“方法失败”并结束。2.迭代:对k=1,2,…,N,做:1) x1=x0-F0/F0’,2) 计算F1=f(x1); F1’=f’(x1) 3) 若F1’=0,则输出“方法失败”并结束。3.控制:若|x1-x0|EPS或|F1|DELTA,则输出近似解x1和迭代次数k并结束;否则,x0=x1; F0=F1; F0’=F1’。4.kN时输出“经N次迭代无满足要求的近似解”结束。四、实验步骤1)完成牛顿迭代法的程序设计及录入;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)分别输入两组不同的根的误差限,观察运算次数的变化;5)分别取不同的初时值x0,观察运算结果的变化;6)完成实验报告。五、实验结果1. 经编译、链接及例子验证结果正确的源程序:#includestdio.h#includemath.hfloat f(float x){float a;a=x*x*x+x*x-3*x-3;return a;}float f1(float x){float b;b=3*x*x+2*x-3;return b;}void main(){float x0,x1,EPS,DELTA,N;float f0,f01,F1,F11;int k=0;printf(输入x0:);scanf(%f,x0);printf(输入EPS:);scanf(%f,EPS);printf(输入DELTA:);scanf(%f,DELTA);printf(输入N:);scanf(%f,N);f0=f(x0);f01=f1(x0);if(f01==0)printf(算法失败);while(f01!=0){x1=x0-(f0/f01);F1=f(x1);F11=f1(x1);k=k+1;if(F11==0 || kN)printf(算法失败);else if(fabs(x1-x0)EPS || fabs(F1)DELTA){printf(x=%f,x1);break;}else{x0=x1;f0=F1;f01=F11;printf(x(%d)=%f\t\n,k,x0);}}}2. 实例验证结果:1)方程:f(x)=x3+x2-3x-3=02)输入初始参数:x0=1, EPS=1e-63)结果输出:输入x0:1输入EPS:1e-6输入DELTA:1e-7输入N:100x(1)=3.000000 x(2)=2.200000 x(3)=1.830151 x(4)=1.737795 x(5)=1.732072x(6)=1.732051 最终结果为1.732051。3. 改变初值x0的值为:x0=1.5, EPS不变,仍为1e-6,其结果为:输入x0:1.5输入EPS:1e-6输入DELTA:1e-7输入N:100x(1)=1.777778 x(2)=1.733361 x(3)=1.732052 x(4)=1.732051 最终结果为1.7320514. 改变初值x0的值为:x0=0.1, EPS不变,仍为1e-6,其结果为:输入x0:0.1输入EPS:1e-6输入DELTA:1e-7输入N:100x(1)=-1.087365 x(2)=-0.989802 x(3)=-0.999899 最终结果为-1.0000005. 改变EPS的值为:EPS=5e-4, x0不变,仍为1,其结果为:输入x0:1输入EPS:5e-4输入DELTA:1e-7输入N:100x(1)=3.000000 x(2)=2.200000 x(3)=1.830151 x(4)=1.737795 x(5)=1.732072最终结果为1.732051Press any key to continue6. 改变EPS的值为:EPS=1e-3, x0不变,仍为1,其结果为:输入x0:1输入EPS:1e-3输入DELTA:1e-7输入N:100x(1)=3.000000 x(2)=2.200000 x(3)=1.830151 x(4)=1.737795 x(5)=1.732072最终结果为1.732051Pres

文档评论(0)

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

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档