光电0203 王华 3021121081 拉格朗日插值法实验报告 一、实验目的 1、学习和掌握拉格朗日插值多项式。 2、运用拉格朗日插值多项式进行计算。 二、算法步骤 函数定义 double lgrr(int n,double X) 输入 所求节点 x和已知的节点数 n 输出 插值结果 s 步骤: 1、 输入 n对数(x[i],y[i])(i=0--n) 2、 令 s=0 3、 对于 i=0-n T=y[i] 对 j=0- n但 j!=i T=T*(X-x[j])/(x[i]-x[j]) 令 s=s+T 4 、输出结果 光电0203 王华 3021121081 三 流程图 四、原程序 #include main() { double X; int n; double lgrr(int n,double X); printf("input the aim number'X' "); printf("input the number of pairs of numbers 'n':"); 开始 初始化 X[i],y [i] 1、 对于 i=0-n T=y[i] 对j=0- n 但j!=i T=T*(X-x[j])/(x[i]-x[j]) 令 s=s+t 输出结果 光电 0203 王华 3021121081 scanf("%lf%d",&X,&n); lgrr(n,X); return 0; } double lgrr(int n,double X) { double s=0,t; double x[81],y[81]; int i,j; printf("input n pairs of numbers:\n"); for(i=0;i main() { double X; int n; double lgrr(int n,double X); printf("input the aim number'X' "); printf("input the number of pairs of numbers 'n':"); scanf("%lf%d",&X,&n); lgrr(n,X); return 0; } double lgrr(int n,double X) { FILE *fp; double s=0,t,z; double x[81],y[81]; 光电 0203 王华 3021121081 int i,j,k; if((fp=fopen("lgrr.txt","r+"))==NULL) printf("can not open the file."); printf("input n pairs of numbers:\n"); for(i=0;i