算方法报告.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文档。上传文档
查看更多
计算方法报告

《计算方法与实习》 实验报告 姓 名: 学 号: 专 业: 实 验 室: 金智楼 评定成绩: 审阅教师: 目录 1.舍入误差与数值稳定性 3 2.方程求根 7 3.线性方程组数值解法 9 4.插值法 14 5.曲线拟合 16 6.数值积分 18 实习题1 4.设,已知其精确值为。 1)编制按从大到小的顺序计算的程序; 2)编制按从小到大的顺序计算的程序; 3)按2种顺序分别计算,并指出有效位数。 解:1)从大到小的C语言算法如下: #includestdio.h #includemath.h #includeiostream using namespace std; void main() { float n=0.0; int i; int N; coutPlease input Nendl; cinN; for(i=N;i1;i--) { n=n+1.0/(i*i-1); N=N-1; } printf(%-100f,n); printf(\n); } 执行后结果为: N=2时,运行结果为: N=3时,运行结果为: N=100时,运行结果为: N=4000时,运行结果为: 2)从小到大的C语言算法如下: #includestdio.h #includemath.h #includeiostream using namespace std; void main() { float n=0.0; int i; int N; coutPlease input Nendl; cinN; for(i=2;i=N;i++) { n=n+1.0/(i*i-1); } printf(%-100f,n); printf(\n); } 执行后结果为: N=2时,运行结果为: N=3时,运行结果为: N=100时,运行结果为: N=4000时,运行结果为: 结论:通过比较可知:N的值较小时两种算法的运算结果相差不大,但随着N的逐渐增大,两种算法的运行结果相差越来越大。 3)①用从小到大的C语言算法计算,结果如下: N=1000时,运行结果: N=10000时,运行结果: N=30000时,运行结果: ②用从大到小顺序的C语言算法分别计算,结果如下: N=1000时,运行结果: N=10000时,运行结果: N=30000时,运行结果: 实习题2 用牛顿法法解下列方程的根: 3)。 解: #include?cmath? using?namespace?std;? #define?N?100? #define?eps?1e-6? #define?eta?1e-8? float?Newton(float(*f)(float),float(*f1)(float),float?x0)? {? float?x1,d;? int?k=0;? do? {? x1=x0-(*f)(x0)/(*f1)(x0); if(k++N||fabs((*f1)(x1))eps) {? printf(\n?Newton迭代发散);? break;? }? d=fabs(x1)1?x1-x0:(x1-x0)/x1;? x0=x1;? printf(x(%d)=%f\t,k,x0);? }? while(fabs(d)epsfabs((*f)(x1))eta);?? return?x1;? }? float?A(float?x){? return?log10(x)+x-2;? }? float?B(float?x){? return?1 /x/log(10)+1;? }? void?main(){? int?i=0;? float?x=1;? for(i=0;i50;i++){? x=x-A(x)/B(x);? coutx=xendl;? i++;? }? }? 结果: x=1.3746 x=1.74485 x=1.75557 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.75558 x=1.755

文档评论(0)

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

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

1亿VIP精品文档

相关文档