拉格朗日插值法C语言的实现.doc
实验 一 .拉格朗日插值法C语言的实现1.实验目的进一步熟悉拉格朗日插值法。掌握编程语言字符处理程序的设计和调试技术。2.实验要求已知某些点的坐标以及点数。输入条件点数以及这些点的坐标 。输出根据给定的点求出其对应的拉格朗日插值多项式的值 。3.程序流程(1)输入已知点的个数;(2)分别输入已知点的X坐标;(3)分别输入已知点的Y坐标;(4)通过调用函数lagrange函数,来求某点所对应的函数值。拉格朗日插值多项式如下其中开始程序流程图 输入已知点个数n 输入已知点的X坐标以及输入已知点的Y坐标 调用函数lagrange函数输出结果 程序如下include iostream include conio.h include malloc.h float lagrangefloat *x,float *y,float xx,int n /*拉格朗日插值算法*/ int i,j; float *a,yy0.0; /*a作为临时变量,记录拉格朗日插值多项式*/ afloat *mallocn*sizeoffloat; fori0;in-1;i aiyi; forj0;jn-1;j ifji ai*xx-xj/xi-xj; yyai; freea; return yy; int main int i; int n; float x20,y20,xx,yy; printf n; scanfd, ifn20 printfErrorThe value of n must in 0,20.; getch;return 1; ifn0 printfError The value of n must in 0,20.; getch; return 1; fori0;in-1;i printfxd,i; scanff, printfn; fori0;in-1;i printfyd,i;scanff, printfn; printf xx; scanff, yylagrangex,y,xx,n; printfxf,yfn,xx,yy; getch; 举例如下已知当x1,-1,2时fx0,-3,4,求f1.5的值。运行结果如下