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

计算机数值方法 实习报告 电子工程与光电技术学院 通信工程 Xxx 0904220xxx 2010年6月 9.5 方程求根的数值试验题1 ㈠问题 当用Newton迭代法求方程f(x)=0的根时,我们从x0开始求解,为减少计算量,可以将导数取定初值的导数,或者每隔一个求一次导数。对以上两种方法,以几个已知其根的简单函数为例,与Newton法作数值比较,打印出各方法中每步迭代的误差,以检查收敛性,分析各方法的求解效果。 ㈡算法 取两个方程x*x-4*x+4=0与x*x*x-1=0来研究它们的收敛性。 两个方程取初值,分别为3和2。 (1)、Newton迭代法 xn+1=xn-f(xn)/f’(xn)=xn-(xn^2-4*xn+4)/(2*xn-4) xn+1=xn-g(xn)/g’(xn)=xn-(xn^3-1)/(3xn^2) (2)、初值求导迭代 xn+1=xn-f(xn)/f’(x0)=xn-(xn^2-4*xn+4)/2 xn+1=xn-g(xn)/g’(x0)=xn-(xn^3-1)/12 (3)、隔步求导迭代 x2n+1=x2n-f(x2n)/f’(x2n)=x2n-(x2n^2-4*x2n+4)/(2*x2n-4) x2n+2=x2n+1-f(x2n+1)/f’(x2n)=x2n+1-(x2n+1^2-4*x2n+1+4)/(2*x2n-4) x2n+1=x2n-g(x2n)/g’(x2n)= x2n-(x2n^3-1)/(3x2n^2) x2n+2=x2n+1-g(x2n+1)/g’(x2n)= x2n+1-(x2n+1^3-1)/(3x2n^2) ㈢数据流向图 x0 ㈣模块关系图和模块流程图 ㈤符号引用表 标志符 数学符号 类型 个数 入 出 作用 x x0 double 不定 * 方程初值 f f(x) double 不定 函数名 f1 f’(x) double 不定 函数名 g g(x) double 不定 函数名 g1 g’(x) double 不定 函数名 s double 不定 数组名 i int 不定 控制循环 ㈥分程序 1第一个方程改进方法的两种方法与Newton法的比较 cout求x*x-4*x+4=0的根:\n; double x=3; double s[10][2]; coutNewton迭代法:\n; for(int i=0;f(x)i10;i++) {s[i][0]=x; s[i][1]=fabs(2-x); couts[i][0]\t误差:s[i][1]\n; x=x-f(x)/f1(x); } cout第二种方法(初值求导迭代):\n; x=s[0][0]; for(i=0;f(x)i10;i++) {s[i][0]=x; s[i][1]=fabs(2-x); couts[i][0]\t误差:s[i][1]\n; x=x-f(x)/f1(3); } cout第三种方法(隔步求导迭代):\n; x=s[0][0]; for(i=0;f(x)i10;i++) {s[i][0]=x; s[i][1]=fabs(2-x); couts[i][0]\t误差:s[i][1]\n; if(i%2==0) x=x-f(x)/f1(x); else x=x-f(x)/f1(s[i-1][0]); } 2第二个方程改进方法的两种方法与Newton法的比较 cout求x*x*x-1=0的根:\n; x=2; coutNewton迭代法:\n; for(i=0;g(x)i10;i++) {s[i][0]=x; s[i][1]=fabs(1-x); couts[i][0]\t误差:s[i][1]\n; x=x-g(x)/g1(x); } cout第二种方法(初值求导迭代):\n; x=s[0][0]; for(i=0;g(x)i10;i++) {s[i][0]=x; s[i][1]=fabs(1-x); couts[i][0]\t误差:s[i][1]\n; x=x-g(x)/g1(3); } cout第三种方法(隔步求导迭代):\n; x=s[0][0]; for(i=0;g(x)i10;i++) {s[i][0]=x; s[i][1]=fabs(1-x); couts[i][0]\t误差:s[i][1]\n; if(i%2==0) x=x-g(x)/g1(x); else x=x-g(x)/g1(s[i-1][0]); } ㈦程序的输出结果与问题分析 Ⅰ、程序的输出结果 求x*x-4*x+4=0的根: Newton迭代法: 3 误差:1 2.5 误差:0.5 2.25 误差:0.25 2.125

文档评论(0)

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

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

1亿VIP精品文档

相关文档