计算方法上机题.docxVIP

  • 20
  • 0
  • 约8.93千字
  • 约 12页
  • 2023-10-14 发布于上海
  • 举报
.. .. . .下载可编辑. 第八题: 一,题目 从函数表x 0.0 0.1 0.195 0.3 0.401 0.5 f(x) 0.39894 0.39695 0.39142 0.38138 0.36812 0.35206 出发,用下列方法计算 f(0.15),f(0.31),f(0.47)的近似值: (1)分段线性插值;(2)分段二次插值;(3)全区间上拉格朗日插值 (要求一次性输入整张函数表,并利用计算机选择在插值计算中所需的结点)。 二,基本方法 先选取两个结点 x 与 x i?1 i 使 x ? [ x , x i?1 i ],然后在区间[ x , x i?1 i ]上作线 性插值,即得 f(x)≈ (x) ? y x ? x ? x ixxy。 i x x y L 1 i?1 x ? x i?1 i i x ? i i?1 i?1 选取距点 x 最近的三个结点 x , x i?1 i , x i?1 进行二次插值, 即取 ?i?1 y ?i?1 x ? x f(x)≈ L (x) ? 2 (3)n=5, [ k ?i?1 ( x ? xj )] 。 kj ?i?1, j ?k k j k L (x) ? ?n y l (x) ? ?n (x ? x y(x 0 y )...( x ? x )( x ? x k ?1 )...( x ? x ) k ?1 n kn k k k ?0 k ?0 k ? x )...( x ? x k 0 k )( x k ?1 k ? x )...( x k ?1 k x ) n 三,计算结果 (1) x 0.15 0.31 0.47 f(x) 0.394039 0.380067 0.356927 (2) x 0.15 0.31 0.47 f(x) 0.394482 0.380225 0.361399 (3) x 0.15 0.31 0.47 f(x) 四,结果分析 0.394473 0.380219 0.357222 编程基本按照课本套公式,方法从(1)至(3),计算结果越来越精确。 五,源程序 (1) #includestdio.h int main(void) { int i,j; double a[6],b[6],x,y; printf(Enter x:); for(i=0;i6;i++) scanf(%lf,a[i]); printf(Enter f(x):); for(i=0;i6;i++) scanf(%lf,b[i]); for(j=0;j3;j++){ printf(Enter x:); scanf(%lf,x); for(i=0;xa[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); } return 0; } (2) #includestdio.h int main(void) { int i,j; double a[6],b[6],x,y; printf(Enter x:); for(i=0;i6;i++) scanf(%lf,a[i]); printf(Enter f(x):); for(i=0;i6;i++) scanf(%lf,b[i]); for(j=0;j3;j++){ printf(Enter x:); scanf(%lf,x); for(i=0;xa[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); } } return 0;

文档评论(0)

1亿VIP精品文档

相关文档