资源描述:
《数值分析简明教》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、【实验名称】拉格朗日插值多项式【实验目的】1.掌握拉格朗口插值多项式的用法2.掌握拉格朗日插值多项式的适用范围3.掌握拉格朗FI插值多项式的精确度【实验环境】MicrosoftVisualC++6.0【实验内容】1.Lagrange插值多项式:几(兀)一工刃A(“),其中k=0nX—x心戶0Xk-兀丿2.求满足X114169225y121315作y的二次插值多项式,并计算y(175),利用Lagrange插值计算。3•如果有错,修改直至运行成功,查看运行结果。【拉格朗日算法框图】【实验名称】拉格朗日插值多项式【实验目的】1.掌握拉格朗口插值多项式的用法2.掌握
2、拉格朗日插值多项式的适用范围3.掌握拉格朗FI插值多项式的精确度【实验环境】MicrosoftVisualC++6.0【实验内容】1.Lagrange插值多项式:几(兀)一工刃A(“),其中k=0nX—x心戶0Xk-兀丿2.求满足X114169225y121315作y的二次插值多项式,并计算y(175),利用Lagrange插值计算。3•如果有错,修改直至运行成功,查看运行结果。【拉格朗日算法框图】【实验步骤及算法描述】1.程序设计1.计算实例求满足X114169225y121315作y的二次插值多项式,并计算y(175),利用Lagrange插值计算。2.撰
3、写实验报告【调试过程及实验结果】1・Lagrange插值实验结果如图:2.进行调试如图Conf;gurdlionCpp1-Win32D«bug-CompiIing.・・Configuration:Cpp1-Win32DebugCompiIing...Cpp1•cppF:Cpp1.cpp(45):errorC2065:fpritf‘:undecIaredidentifier执行cl.exe时出错.Cpp1.obj-1error(s),0warning(s);Configuration:xiechizhangxiaorui-Win32DebugCompiIing
4、.・•xiechizhangxiaorui.cppC:Userssys18Desktopxiechizhangxiaorui.cpp(52):warning04715:'mam*:notallcontrolpathsreturnavalueLinking...xiechizhangxiaorui.exe-0error(s)f0warning(s)【实验总结】通过本次实验,使我们进一步加深了对拉格朗日插值多项式的了解,掌握拉格朗日插值多项式的用法,能够正确的运用拉格朗口插值多项式进行运算。【附录】#include#include5、o.h>#includefloatlagrange(float*x,float*y,floatxx,intn){inti,j;float*a,yy=0.0;a=(float*)malloc(n*sizeof(float));for(i=();i<=n-l;i++){a[i]=y[i];for(j=0;j<=n-l;j++)if(j!=i)a[i]*=(xx-x[j])/(x[i]-x[j]);yy+=a[il;free(a);returnyy;intmain(void)inti;intn;floatx[20],y[20],xx,yy;pri
6、ntf("Inputn:");scanf("%d",&n);if(n>=20){printf(uError!Thevalueofnmustin(0,20).");retum1;}if(n<=0){printf(uError!Thevalueofnmustin(0,20).");return1;for(i=0;i<=n-l;i++){printf(,,x[%dJ:M,i);scanf(H%r,&x[i]);}printf(uM);for(i=0;i<=n-l;i++){printf(”y[%d]:”,i);scanf(”%f',&y[i]);}printf(
7、,,iiM);printf("Inputxx:");scanf(”%f”,&xx);yy=lagrange(x,y,xx,n);printf("x=%f,y=%fH,xx,yy);「wC:UserssyslADesktopDebugCppl.exe"O回S3rInputn:3厶x[0J:114xtl]:169x[2J:225y[0]:12y[l]:13y[2J:15Inputxx:175x=l?5・000000,y=13・166900