网站大量收购独家精品文档,联系QQ:2885784924

c语言数值方法上机.doc

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言数值方法上机

第一次作业 拉格朗日差值计算 #includestdio.h #includemath.h float sort(int n,float x,float (*p)[2]); main() { int i,j,n; float x,y; float (*p)[2]; scanf (%f,x); printf(x=%f\n,x); scanf (%d,n); printf(n=%d\n,n); for(i=0;in;i++) for(j=0;j=1;j++) { scanf(%f,*(p+i)+j); printf(x[%d][%d]=%f\n,i,j,*(*(p+i)+j)); } y=sort( n,x,p); printf(the result is %f\n,y); } float sort(int n,float x,float (*p)[2]) { int i,j; float a,b,k,c,e,d,y,q; b=k=1; y=0; for(i=0;in;i++) { e=*(*(p+i)+1); b=1; k=1; for(j=0;jn;j++) { if(j!=i) { a=*(*(p+i))-*(*(p+j)); b=a*b; c=x-*(*(p+j)); k=k*c; } } q=k/b; d=q*e; y=y+d; } return(y); } 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 0 0.0953 0.1823 0.2624 0.3365 0.4055 0.47 0.5306 0.5878 0.6419 0.6431 计算结果 把X=1.54代入的结果 把X=1.98代入得结果 牛顿向前插值 #includestdio.h #includemath.h float sort(int n,int i,float (*p)[2]); main() { int i,j,n,b; float x,N,k,y,m,y0,t,u; float h; float (*p)[2]; float a[100]={0}; float *p1; scanf (%f,h); printf (h=%f\n,h); scanf (%f,x); printf(x=%f\n,x); scanf (%d,n); printf(n=%d\n,n); for(i=0;in;i++) for(j=0;j=1;j++) { scanf(%f,*(p+i)+j); printf(x[%d][%d]=%f\n,i,j,*(*(p+i)+j)); } t=x-*(*p); t=t/h; y0=*(*(p+0)+1); for(j=0;jn-1;j++) { b=n; b=b-1; printf(\n); for(i=0;ib;i++) {y=sort( n,i,p); printf( %f,y); if(i==0) a[j]=y; } } i=0; j=1; m=t; N=y0; p1=a[0]; while(in-1) { u=*p1; N=N+m*u; printf (\n???%f???\n,N); j=j*(i+2); m=m*(t-1)/j; i++; p1++; } printf(%12f\n,N); } float sort(int n,int i,float (*p)[2]) { int j; float a,y; y=0; j=i++; a=*(*(p+i)+1)-*(*(p+j)+1); *(*(p+j)+1)=a; y=a; return(y); } 计算结果 当X=1.54时,f(x)=lnx的值 当X=1.98时,f(x)=lnx的值 牛顿向后插值 #includestdio.h #includemath.h float sort(int n,int i,float (*p)[2]); main() { int i,j,n,b,kk; float x,N,k,y,m,yn,t,u; float h; float (*p)[2]; float a[100]={0}; float *p1; scanf

文档评论(0)

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

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

1亿VIP精品文档

相关文档