1、拉格朗日插值法与牛顿插值法的比较摘 要在生产和科研中出现的函数是多样的。对于一些函数很难找出其解析表达式。即使在某些情况下,可以写出函数的解析表达式,但由于解析表达式的结构相当复杂,使用起来很不方便。插值法即是解决此类问题的一种古老的、然而却是目前常用的方法,它不仅直接广泛地应用于生产实际和科学研究中,而且也是进一步学习数值计算方法的基础。拉格朗日插值法和牛顿插值法则是二种常用的简便的插值法。本文即是讨论拉格朗日插值法和牛顿插值法的理论及二者的比较。关键词 拉格朗日插值 牛顿插值 插值多项式 比较一、 背景在工程和科学研究中出现的函数是多种多样的。常常会遇到这样的情况:在某个实际问题中,虽然可
2、以断定所考虑的函数在区间上存在且连续,但却难以找到它的解析表达式,只能通过实验和观测得到在有限个点上的函数值(即一张函数表)。显然,要利用这张函数表来分析函数的性态,甚至直接求出其他一些点上的函数值可能是非常困难的。面对这些情况,总希望根据所得函数表(或结构复杂的解析表达式),构造某个简单函数作为的近似。这样就有了插值法,插值法是解决此类问题目前常用的方法。如设函数在区间上连续,且在个不同的点上分别取值。插值的目的就是要在一个性质优良、便于计算的函数类中,求一简单函数,使 而在其他点上,作为的近似。通常,称区间为插值区间,称点为插值节点,称式为插值条件,称函数类为插值函数类,称为函数在节点处的
3、插值函数。求插值函数的方法称为插值法。插值函数类的取法不同,所求得的插值函数逼近的效果就不同。它的选择取决于使用上的需要,常用的有代数多项式、三角多项式和有理函数等。当选用代数多项式作为插值函数时,相应的插值问题就称为多项式插值。本文讨论的拉格朗日插值法与牛顿插值法就是这类插值问题。在多项式插值中,最常见、最基本的问题是:求一次数不超过的代数多项式 使,其中,为实数。拉格朗日插值法即是寻求函数(拉格朗日插值多项式)近似的代替函数。相似的,牛顿插值法则是通过(牛顿插值多项式)近似的求得函数的值。二、 理论基础(一)拉格朗日插值法在求满足插值条件次插值多项式之前,先考虑一个简单的插值问题:对节点中
4、任一点,作一n次多项式,使它在该点上取值为1,而在其余点上取值为零,即上式表明个点都是次多项式的零点,故可设其中,为待定系数。由条件立即可得故 由上式可以写出个次插值多项式。我们称它们为在个节点上的次基本插值多项式或次插值基函数。利用插值基函数立即可以写出满足插值条件的次插值多项式 根据条件,容易验证上面多项式在节点处的值为,因此,它就是待求的次插值多项式。形如的插值多项式就是拉格朗日插值多项式,记为,即作为常用的特例,令,由上式即得两点插值公式 ,这是一个线性函数,故又名线性插值。若令,则又可得到常用的三点插值公式这是一个二次函数,故又名二次插值或抛物插值。(二)牛顿插值法由线性代数知,任何
5、一个不高于次多项式,都可以表示成函数的线性组合。既可以吧满足插值条件的次插值多项式写成如下形式其中,为待定系数。这种形式的插值多项式称为牛顿插值多项式,记为,即 因此,牛顿插值多项式是插值多项式的另一种表示形式。设函数在等距节点处的函数值为已知,其中是正常数,称步长。我们称两个相邻点和处函数之差为函数在点处以为步长的一阶向前差分,记作,即于是,函数在各节点处的一阶差分依次为又称一阶差分的差分为二阶差分。一般的,定义函数在点处的阶差分为。在等距节点情况下,可以利用差分表示牛顿插值多项式的系数。事实上,由插值条件可得;再由插值条件可得;一般的,由插值条件可得。于是,满足插值条件的插值多项式为三、
6、二者的比较拉格朗日插值法与牛顿插值法都是二种常用的简便的插值法。但牛顿法插值法则更为简便,与拉格朗日插值多项式相比较,它不仅克服了“增加一个节点时整个计算工作必须重新开始”(见下面例题)的缺点,而且可以节省乘、除法运算次数。同时,在牛顿插值多项式中用到的差分与差商等概念,又与数值计算的其他方面有着密切的关系。现用一实例比较拉格朗日插值法与牛顿插值法例 已知函数表如下:x0.10.20.30.40.50.6sinx0.099830.198670.295520.389420.479430.56464计算sin(0.12)的值。利用拉格朗日插值法计算过程如下:(计算程序代码见附件) 因为0.12位于
7、0.1与0.2之间,故取节点利用线性插值所求的近似值为计算结果如下图利用抛物插值所求的近似值为计算结果如下图利用牛顿插值法计算过程如下:构造差分表如下:xsinx0.10.20.30.40.099830.198670.295520.389420.098840.096850.09390-0.00199-0.00295-0.00096利用线性插值所求的近似值为利用抛物插值所求的近似值为从上面的计算过程可以看出,拉格朗日插值法的线性插值与抛物插值的计算过程没有继承性,即增加一个节点时整个计算工作必须重新开始。而牛顿插值则避免了这一问题,这样大量的节省了乘、除法运算次数,减少了计算的时间。因此,对于一
8、些结构相当复杂的函数,牛顿插值法比拉格朗日插值法要占优势。参考文献1易大义,沈云宝,李有法编.计算方法.杭州:浙江大学出版社,20022冯康等编.数值计算方法.北京:国防工业出版社,19873李庆阳,王能超,易大义编.数值分析(第四版).北京:清华大学出版社,施普林格出版社,20014Burden R L,Faires J D,Reynolds A C. Numerical Analysis. Alpine Press,19815易大义,陈道琦编.数值分析引论.杭州:浙江大学出版社,1998 Comparison between Lagrange interpolation method an
9、d Newton interpolation methodAbstract In the production and scientific researches, there appears a variety of functions. For some function, it is difficult to find out its analytical expression. Though in some cases, the analytical expressions of the structure can be worked out, it is inconvenient t
10、o use them because of the complexity of structure. Interpolation method is a kind of old way to solve such problems, which is now commonly used. It is not only applied in the actual production or scientific researches directly and widely, but also become the foundation of further study of numerical
11、calculation method. Lagrange interpolation method and Newton interpolation law are two commonly used simple interpolation methods. This paper is a discussion of theory and the comparison between Lagrange interpolation method and Newton interpolation method. Key Words Lagrange interpolation ,Newton i
12、nterpolation ,Interpolation polynomials,comparison 附件:#include void main()float x6=0.1,0.2,0.3,0.4,0.5,0.6;int n,k,j;float f6=0.09983,0.19867,0.29552,0.38942,0.47943,0.56464;float p,a,sum=0;printf(输入插值次数n和所要求sina的a的值:);scanf(%d %f,&n,&a);for(k=0;k=n;k+)p=1; for(j=0;j=n;j+) if(k!=j)p=p*(a-xj)/(xk-xj);sum=sum+p*fk;printf(x=%f,y=%f,a,sum);第7页 共7页