1 / 12
文档名称:

计算方法上机题.doc

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

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

分享

预览

计算方法上机题.doc

上传人:wz_198613 2019/1/14 文件大小:964 KB

下载得到文件列表

计算方法上机题.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+p*b[i]; } printf("x=%lf,",x);printf("y=%lf\n",y); } return0;}六,附图(1)(2)(3)第九题:一,题目已知直升机旋转机翼外形曲线轮廓线上的某些型值点及端点处的一阶导数值y`(x0)=,y