1 / 15
文档名称:

计算方法上机题doc.doc

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

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

分享

预览

计算方法上机题doc.doc

上传人:坐水行舟 2019/4/28 文件大小:125 KB

下载得到文件列表

计算方法上机题doc.doc

文档介绍

文档介绍:腿第八题:薃一,(x),用下列方法计算f(),f(),f()的近似值:莁分段线性插值;(2)分段二次插值;(3)全区间上拉格朗日插值莁(要求一次性输入整张函数表,并利用计算机选择在插值计算中所需的结点)。芆二,基本方法芅先选取两个结点与使[,],然后在区间[,]上作线性插值,即得f(x)≈。蒂选取距点x最近的三个结点,,进行二次插值,即取f(x)≈。蒀n=5,羀三,计算结果羅(1)(x)(2)(x)(3)(x),结果分析羄编程基本按照课本套公式,方法从(1)至(3),计算结果越来越精确。膁五,源程序腿(1)虿#include<>蚄intmain(void)膃{薁 inti,j;肈 doublea[6],b[6],x,y;蒅 printf("Enterx:");芄 for(i=0;i<6;i++)蚀 scanf("%lf",&a[i]);蒇printf("Enterf(x):");膅 for(i=0;i<6;i++)肁scanf("%lf",&b[i]);肂 for(j=0;j<3;j++){羇 printf("Enterx:");羆 scanf("%lf",&x);膃 for(i=0;x>a[i];i++);膀 y=b[i-1]*(x-a[i])/(a[i-1]-a[i])+b[i]*(x-a[i-1])/(a[i]-a[i-1]);莆printf("x=%lf,",x);蚆printf("y=%lf\n",y);膄 }艿 return0;聿}蒆(2)羂#include<>袅intmain(void)螃{蒁 inti,j;芇 doublea[6],b[6],x,y;羃 printf("Enterx:");膂 for(i=0;i<6;i++)袇 scanf("%lf",&a[i]);莈printf("Enterf(x):");莆 for(i=0;i<6;i++)薂scanf("%lf",&b[i]);蚈 for(j=0;j<3;j++){膆 printf("Enterx:");蒄 scanf("%lf",&x);肁 for(i=0;x>a[i];i++);莈 if((a[i+1]-x)<(x-a[i-2]))*** {薃 y=b[i-1]*(x-a[i])/(a[i-1]-a[i])*(x-a[i+1])/(a[i-1]-a[i+1]);蒀 y=y+b[i]*(x-a[i-1])/(a[i]-a[i-1])*(x-a[i+1])/(a[i]-a[i+1]);膈 y=y+b[i+1]*(x-a[i-1])/(a[i+1]-a[i-1])*(x-a[i])/(a[i+1]-a[i]);艿printf("x=%lf,",x);printf("y=%lf\n",y);羅 }袀 else{衿 y=b[i-2]*(x-a[i-1])/(a[i-2]-a[i-1])*(x-a[i])/(a[i-2]-a[i]);肆 y=y+b[i-1]*(x-a[i-2])/(a[i-1]-a[i-2])*(x-a[i])/(a[i-1]-a[i]);肃 y=y+b[i]*(x-a[i-2])/(a[i]-a[i-2])*(x-a[i-1])/(a[i]-a[i-1]);薃printf("x=%lf,",x);printf("y=%lf\n",y);虿 }*** }蒆 return0;羂}荿(3)羅#include<>薄intmain(void)蒂{肀 inti,j,k;羆 doublea[6],b[6],x,y,p;蚂 printf("Enterx:");袁 for(i=0;i<6;i++)袀 scanf("%lf",&a[i]);肇printf("Enterf(x):");肅 for(i=0;i<6;i++)芁scanf("%lf",&b[i]);薁 for(j=0;j<3;j++)袅 {膃 y=0;蚀 printf("Enterx:");莁 scanf("%lf",&x);袆for(i=0;i<6;i++){薆 p=1;莃 for(k=0;k<6;k++){袇 if(k!=i)羈 p=p*(x-a[k])/(a[i]-a[k]);}蚄y=y