[2018年最新整理]实验四 Lagrange插值函数.docVIP

  • 11
  • 0
  • 约1.06万字
  • 约 13页
  • 2018-04-15 发布于浙江
  • 举报

[2018年最新整理]实验四 Lagrange插值函数.doc

[2018年最新整理]实验四 Lagrange插值函数

实验四 Lagrange插值函数 ? 课题名称:Lagrange插值函数?????? 任课教师:马季骕???????????? 辅导教师:马季骕 专业班级:计算机科学与技术??????? 学??? 号:20081121086??????? 姓??? 名:段学元 实验编号:实验(四)?????????????? 实验报告文件名:?? 20081121086段学元实验(四) ? l? 题目描述 求一个函数 (x)用来近似函数f(x),用Lagrange插值法来求解近似函数 (x)并画出近似函数图像及原函数图像。 当给出了n+1个节点上f(x)的一张函数表后,用Lagrange插值法求一个函数 (x),并满足以下两个条件: (1) (x)是一个不超过n次的多项式; (2)在给定点 上与 取相同值,即 = (i=0,1,2…n)。 当插值节点取的足够多时逼近函数 (x)能够很好的逼近被逼近函数f(x)。而插值函数 (x)的次数就会相应地升高,高次的插值多项式就不一定收敛到相应的被逼近函数,就会产生Runge现象,本实验可以从函数的图像上清楚地看到这一现象。 l? 算法分析 (1)? 原函数图像的绘制: ???? 对于给定函数 。在区间 上画出f(x)的函数图像。 (2)? Lagrange插值函数图像的绘制: ???? 根据题目要求取11个等距插值节点 ,求出每一个结点处的基函数 (j=0,1,…n),然后根据Lagrange插值多项式的一般形式把 (x)写成与节点相对应的函数值 (i=0,1,2…n)与其插值基函数 (j=0,1,…n)的线形组合的形式。即 。 (3)? 具体设计: ???? for(i=0;i=10;i++) ???? { ??????? ax[i]=-1+((2/10.0)*i);?????????? //取11个等距插值节点 ??????? ay[i]=1.0/(1+25*ax[i]*ax[i]);???? //求出节点处的函数值 ???? } ???? x1=-1;y1=1/(1+25*x1*x1);????????? //设定起始点 ???? while(x1=1) ???? { ???????? m=0; ???????? for(i=0;i=10;i++) ???????? { ???????????? n=1; ???????????? for(j=0;j=10;j++) ???????????? { ??????????????? ?if(i!=j) ??????????????????? n=((x1-ax[j])/(ax[i]-ax[j]))*n;??????? //求出插值基函数 ???????????? }???? ???????????? m=ay[i]*n+m;?? ???????//把插值函数写成函数值与相应基函数的线性组合 ???????? } ???????? x1=x1+0.00001; ???? } l? 程序说明 ???? 本程序在VC++ 6.0环境下编译运行,调用了其中的绘图函数。以下附录代码为主程序的.cpp文件。 l? 程序代码 // SHIYAN456View.cpp : implementation of the CSHIYAN456View class // ? #include stdafx.h #include SHIYAN456.h ? #include SHIYAN456Doc.h #include SHIYAN456View.h ? #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ? ///////////////////////////////////////////////////////////////////////////// // CSHIYAN456View ? IMPLEMENT_DYNCREATE(CSHIYAN456View, CView) ? BEGIN_MESSAGE_MAP(CSHIYAN456View, CView) ????? //{{AFX_MSG_MAP(CSHIYAN456View) ????? ON_COMMAND(ID_FFunction, OnFFunction) ????? ON_COMMAND(ID_Lagrange, OnLagrange) ????? ON_COMMAND(ID_Subsection, OnSubsection) ????? ON_COMMAND(ID_Hermite, OnHermite) ????? //}}AFX_MSG_MAP ??

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档