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

拉格朗日多项式插值(C语言).docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
拉格朗日多项式插值(C语言)

#include iostream #include conio.h #include malloc.h float lagrange(float *x,float *y,float xx,int n)/*拉¤-格?朗¤¨o日¨?插?值|ì算?法¤?§*/ { int i,j; float *a,yy=0.0;/*a作á??为a临¢¨′时o?à变à?量¢?,ê?记?录?拉¤-格?朗¤¨o日¨?插?值|ì多¨¤项?式o?*/ a=(float *)malloc(n*sizeof(float)); for(i=0;i=n-1;i++) { a[i]=y[i]; for(j=0;j=n-1;j++) if(j!=i) a[i]*=(xx-x[j])/(x[i]-x[j]); yy+=a[i]; } free(a); return yy;}int main(){ int i; int n; float x[20],y[20],xx,yy; printf(Input n:); scanf(%d,n); if(n=20) { printf(Error!The value of n must in (0,20).); getch();return 1; } if(n=0) { printf(Error! The value of n must in (0,20).); getch(); return 1; } for(i=0;i=n-1;i++) { printf(x[%d]:,i); scanf(%f,x[i]); } printf(\n); for(i=0;i=n-1;i++) { printf(y[%d]:,i);scanf(%f,y[i]); } printf(\n); printf(Input xx:); scanf(%f,xx); yy=lagrange(x,y,xx,n); printf(x=%f,y=%f\n,xx,yy); getch(); } 牛顿(Newton)插值公式#include stdlib.h#includeiostream#includemath.h#define N 4using namespace std;void main(){void lin(double x[],double y[],double t,int n); void newton(double a[],double b[],double t,double h,int n);double t,h,d; int i,j,n,k;double x[N]={0.4,0.55,0.65,0.80};double y[N]={0.41075,0.57815,0.69675,0.88811};double a[N],b[N];h=0.1;//h为a等쨨距¨¤节¨2点ì?宽¨a度¨¨,ê?t为a插?值|ì点ì? t=0.596; if(!h) cout此??函?¥数oy为a常?ê数oyendl;else{ if(tx[0]||tx[N-1]) coutt不?在¨2[x[0],x[N-1]]范¤?围?ì内¨2endl; else { cout利¤?用??分¤?段?线?性?插?值|ì:êoendl; lin(x,y,t,N); cout利¤?用??等쨨距¨¤节¨2点ì?牛?ê顿¨′插?值|ì:êoendl; newton(x,y,t,h,N); }}system (pause);} void lin(double x[],double y[],double t,int n){int i;double w,e,c;//w为a逼à?近¨1值|ìe为a余?¨¤项?for(i=0;in;i++){if(t==x[i]) {coutsin(t)近¨1似?值|ì为ay[i]endl估¨¤计?误¨?差?为aendl;}else if (tx[i]){ w=y[i]*(t-x[i+1])/(x[i]-x[i+1])+y[i+1]*(t-x[i])/(x[i+1]-x[i]); c=fabs(cos(x[i])) fabs(cos(x[i+1])) ? fabs(cos(x[i])) : fabs(cos(x[i+1])); e=c*(t-x[i])*(t-x[i+1]); coutsin(t)近¨1似?值|ì为awendl估¨¤计?误¨?差?为aeendl; break; }}}void newton(double a[],double b[],double t,double h,int n){ int i,j,c;double d=0.0;double r=1.0,k=0.0,m=1.0,s=0.0;//d为a所¨′求¨?近¨1似?值|ì,ê?r为a差

文档评论(0)

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

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

1亿VIP精品文档

相关文档