实习题目:插值法
【实习目的】
1 通过实习进一步掌握拉格朗日插值法和牛顿插值法的基本思想;
2 通过对拉格朗日插值法和牛顿插值法的调试练习,进一步体会其特点:
3 通过实习进一步掌握拉格朗日插值法和牛顿插值法的计算步骤,并能灵活应用;
4 通过上机调试运行,逐步培养解决实际问题的编程能力;
【实习要求】
1 熟悉Turbo C 的编译环境;
2 实习前复习拉格朗日插值法和牛顿插值法的基本思想和过程;
3 实习前复习拉格朗日插值法和牛顿插值法的计算步骤。
【实习设备】
1 硬件设备:单机或网络环境下的微型计算机一台;
2 软件设备:DOS3.3以上操作系统,Turbo C 2.0编译器。
【实习内容】
1)实习一 拉格朗日插值法
(1)(1)给定正弦函数表如下:
x 0.4 0.5 0.6 0.7
Sinx 0.3894 0.4794 0.5646 0.6442
分别用拉格朗日线性插值和二次插值求sin(0.5789)的近似值。
(2)要求:
①插值次数n,插值点(xi,yi),i=0,1,2以及计算插值多项式的x值,由键盘输入;
②请写出程序的运行结果。
程序为:
#include
#include
#define Max_N 20 /* Max_N为最大插值节点个数 */
float lagrange(float x[],float y[],float xx,int N) { int i,j;
float l,L;
L=0.0;
for(i=0;i<=N;i++) /* 计算拉格朗日插值函数的值 */
{ l=1.0;
for(j=0;j<=N;j++)
{ if(j!=i)
l=l*(xx-x[j])/(x[i]-x[j]);
}
L = L +y[i]*l;