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

课程实验报告课程名称:数值分析专业班级:重修学号:姓名:指导教师:许如初报告日期:2014.6.26 计算机科学与技术学院实验一题目用C语言实现Lagrange插值算法。实验目的理解Lagrange插值原理,以及在计算机上的实现过程。实验原理Lagrange插值法公式:流程图源程序(数据来源于课本的实验例子)#includestdio.h#define N 4void main(){ float x[N]={0.56160,0.56280,0.56401,0.56521}, y[N]={0.82742,0.82659,0.82577,0.82495},xl,l = 0,li = 1; int i,j; printf(Please Input X \n); scanf(%f,xl); for(i = 0;i N;i++) { for(j = 0,li = 1;j N; j++) {if(j == i) goto h; li = li * ((xl-x[j])/(x[i]-x[j])); h: li = li;} l = l + li*y[i]; } printf(4 \t Ln(x) = %f \n,l);}截图:由截图可知,经过验算符合预期实验结果。实验二题目用C语言实现Newton插值算法。实验目的理解Newton插值原理,以及在计算机上的实现过程。实验原理Newton插值公式:构造差商表如下:………………流程图源程序(数据来源于课本的实验例子)#includestdio.h#define N 5void main(){float x[N] = {0.4,0.55,0.65,0.8,0.9},y[N] = {0.41075,0.57815,0.69675,0.88811,1.02652}, f[N],n1,n2; int k=0 ,i; printf(***************************************************************************\n); printf(k Xk Yk Fk F01k F02k F0123k \n ); printf(***************************************************************************\n); printf(0%12.4f%12.4f\n,x[0],y[0]); for(k =1;kN;) {f[0] = y[k]; printf(%d%12.4f%12.4f,k,x[k],y[k]); for(i = 0;i=k-1 ;i++) {f[i+1] = (f[i]-y[i])/(x[k]-x[i]); printf( ); printf(%.4f,f[i+1]);} printf(\n); y[k] = f[k]; k++; } n1 = f[N-1]; n2 = f[N-1]; printf(***************************************************************************\n); for(i = N-1;i = 0;i--) { n1 = n1 *(0.596-x[i])+y[i]; n2 = n2 *(0.895-x[i])+y[i];} printf(%f\t%f\n,n1,n2);}由截图可知,经过验算符合预期实验结果。实验心得:经过本次实验,我不仅对拉格朗日插值、牛顿插值公式的一些特性有了更加深刻的了解同时我对C语言的编程也更加熟练了。拉格朗日插值法与牛顿插值法都是二种常用的简便的插值法。但牛顿法插值法则更为简便,与拉格朗日插值多项式相比较,它不仅克服了“增加一个节点时整个计算工作必须重新开始”的缺点,而且可以节省乘、除法运算次数。同时,在牛顿插值多项式中用到的差分与差商等概念,又与数值计算的其他方面有着密切的关系。而用编程实现,我们通过观察程序的时间复杂度可以清晰的看到插值结点数量的改变而造成的运算时间的改变,这就比通过理论推导来的更加直观了。这次实验让我认识到计算方法是一门理论与实践相结合的学科。从中我们不仅学到了很多有用的算法,而且也让我进一步了解了计算机是怎样实现数据之间的“计算”的。总之,通过这次实验,让我收获了一份将理论付诸实践的乐趣,领略到了不同的计算方法的魅力。

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档