数值分析实验报告五.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值分析实验报告(五) 一.实验名称: lagrange和newton插值法 二.实验目的: 掌握用Lagrange和Newton方法解决未知的问题。 三.题目: 已知 x 0.4 0.5 0.6 0.7 0.8 0.9 lnx -0.916291 -0.693147 -0.510826 -0.357762 -0.223144 -0.105361 分别用lagrange插值法和牛顿插值法来求ln0.78的近似值。 四.程序: Lagrange插值法: #include stdio.h #include math.h double Langrage(x,y,n,a) double *x,*y,a; int n; { int i,j; double t=0,k; for (i=0;i=n;i++) { k=1; for (j=0;j=n;j++) { if (j==i)j++; k*=(a-x[j])/(x[i]-x[j]); } t+=k*y[i]; } return t; } main() { double x[20]={0.4,0.5,0.6,0.7,0.8,0.9}, y[20]={-0.916291,-0.693147,-0.510826,-0.357765,-0.223144,-0.105361}, a=0.78; clrscr(); printf(ln0.78=%10.5f\n,Langrage(x,y,5,a)); } 牛顿插值法: #include stdio.h #include math.h #define N 5 double Newton(x,y,a) double *x,*y,a; { int i,j; double t,k=1; for (i=0;iN;i++) { for (j=N;ji;j--) y[j]=(y[j]-y[j-1])/(x[j]-x[j-1]); } t=y[0]; for (i=1;i=N;i++) { k*=(a-x[i-1]); t+=y[i]*k; } return t; } main() { double x[10]={0.4,0.5,0.6,0.7,0.8,0.9}, y[10]={-0.916291,-0.693147,-0.510826,-0.357765,-0.223144,-0.105361}, a=0.78; clrscr(); printf(ln0.78=%10.5f\n,Newton(x,y,a)); } 五.运行结果: Lagrange插值法结果显示: ln0.78= -0.24923 牛顿插值法结果显示: ln.78= -0.26666 六.体会: 通过本次练习我体会到了lagrange和newton插值法在实际解题中的应用,也方便了我以能 更好的应用。 信计050213 孟松见

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档