1 / 6
文档名称:

计算方法插值法牛顿插值拉格朗日插值.doc

格式:doc   大小:50KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算方法插值法牛顿插值拉格朗日插值.doc

上传人:zbfc1172 2019/11/16 文件大小:50 KB

下载得到文件列表

计算方法插值法牛顿插值拉格朗日插值.doc

文档介绍

文档介绍:四、实验题目:龙格现象的发生、防止,插值效果的比较将区间10等分,有函数:;;.分别对上述函数计算点上的值,做出插值函数的图形并与的图形比较。(1)做拉格朗日插值;(2)做牛顿插值;(3)做分段线性插值;(4)做三次样条插值;将计算结果与函数的准确值比较并对结果进行分析。packageshuzhifangfa;lasslagelanri{ /** ****@paramargs */ publicstaticvoidmain(String[]args){ doublem=-2; while(m<3){ doubley=0; doublef[]=newdouble[11]; doublex[]=newdouble[11]; for(inti=-5;i<6;i++){ x[i+5]=i; } //求出对于x的y值 for(inti=-5;i<6;i++){ f[i+5]=/(1+i*i); } doublel1[]=newdouble[11]; doublel2[]=newdouble[11]; for(inti=0;i<11;i++){ l1[i]=1; l2[i]=1; } for(intk=0;k<11;k++){ for(intp=0;p<11;p++){ if(p==k) continue; else{ l1[k]=l1[k]*(m-x[p]); l2[k]=l2[k]*(x[k]-x[p]); } } } //多项式的每一项相加 for(intj=0;j<11;j++){ y=y+l1[j]*f[j]/l2[j]; } doubleh=/(1+m*m);//精确值 doubler=(y-h); ("近似值y="+y+"精确值h="+h+"误差r="+r); //for(inti=0;i<11;i++) //("l1["+(i-5)+"]="+f[i]); m=m+; } }}-------------------------------------------------------------------------------------packageshuzhifangfa;lassniudun{ publicstaticvoidmain(String[]args){ doublem=0; while(m<5){ doubley=0; doublex[]=newdouble[11]; doublef[]=newdouble[11]; doublel[][]=newdouble[11][11]; doublew[]=newdouble[11]; for(inti=-5;i<6;i++){ x[i+5]=i; } //求出对于x的y值 for(inti=-5;i<6;i++){ f[i+5]=/(1+i*i); } //0阶差商 for(inti=0;i<11;i++){ l[i][0]=f[i]; } //1阶差值 for(intj=1;j<11;j++){ l[j][1]=(f[j]-f[j-1])/(x[j]-x[j-1]); } //n阶差值 for(inti=1;i<10;i++){ for(intj=i;j<10;j++){