《2022年拉格朗日插值法与牛顿插值法比较》由会员分享,可在线阅读,更多相关《2022年拉格朗日插值法与牛顿插值法比较(7页珍藏版)》请在金锄头文库上搜索。
1、拉格朗日插值法与牛顿插值法的比较 摘要 在生产和科研中出现的函数是多样的。对于一些函数很难找出其解读表达式。即使在某些情况下,可以写出函数的解读表达式,但由于解读表达式的结构相当复杂,使用起来很不方便。插值法即是解决此类问题的一种古老的、然而却是目前常用的方法,它不仅直接广泛地应用于生产实际和科学研究中,而且也是进一步学习数值计算方法的基础。拉格朗日插值法和牛顿插值法则是二种常用的简便的插值法。本文即是讨论拉格朗日插值法和牛顿插值法的理论及二者的比较。 关键词 拉格朗日插值牛顿插值插值多项式比较一、 背景在工程和科学研究中出现的函数是多种多样的。常常会遇到这样的情况:在某个实际问题中,虽然可以
2、断定所考虑的函数)(xf在区间,ba上存在且连续,但却难以找到它的解读表达式,只能通过实验和观测得到在有限个点上的函数值(即一张函数表)。显然,要利用这张函数表来分析函数)(xf的性态,甚至直接求出其他一些点上的函数值可能是非常困难的。面对这些情况,总希望根据所得函数表(或结构复杂的解读表达式),构造某个简单函数)(xP作为)(xf的近似。这样就有了插值法,插值法是解决此类问题目前常用的方法。如设函数)(xfy在区间,ba上连续,且在1n个不同的点bxxxan,10上分别取值nyyy,10。插值的目的就是要在一个性质优良、便于计算的函数类中,求一简单函数)(xP,使),1,0()(niyxPi
3、i而在其他点ixx上,作为)(xf的近似。通常,称区间,ba为插值区间,称点nxxx,10为插值节点,称式iiyxP)(为插值条件,称函数类为插值函数类,称)(xP为函数)(xf在节点nxxx,10处的插值函数。求插值函数)(xP的方法称为插值法。插值函数类的取法不同,所求得的插值函数)(xP逼近)(xf的效果就不同。它的选择取决于使用上的需要,常用的有代数多项式、三角多项式和有理函数等。当选用代数多项式作为插值函数时,相应的插值问题就称为多项式插值。本文讨论的拉格朗日插值法与牛顿插值法就是这类插值问题。在多项式插值中,最常见、最基本的问题是:求一次数不超过n的代数多项式nnxaxaaxP10
4、)(精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 7 页使), 1 ,0()(niyxPiin,其中,naaa,10为实数。拉格朗日插值法即是寻求函数)(xLn(拉格朗日插值多项式)近似的代替函数)(xf。相似的,牛顿插值法则是通过)(xNn(牛顿插值多项式)近似的求得函数的值。二、 理论基础(一)拉格朗日插值法在求满足插值条件n次插值多项式)(xPn之前,先考虑一个简单的插值问题:对节点), 1,0(nixi中任一点)0(nkxk,作一 n 次多项式)(xlk,使它在该点上取值为1,而在其余点), 1, 1,1,0(nkkixi上取
5、值为零,即kikixlik01)(上式表明 n个点nkkxxxxx,1110都是 n次多项式)(xlk的零点,故可设11110)()()()(nkkkkxxxxxxxxxxAxl其中,kA 为待定系数。由条件1)(kkxl立即可得)()()(1110nkkkkkkkxxxxxxxxA故)()()()()()()(110110nkkkkkknkkkxxxxxxxxxxxxxxxxxl由上式可以写出1n个 n 次插值多项式)(,),(),(10xlxlxln。我们称它们为在1n个节点nxxx,10上的 n次基本插值多项式或n次插值基函数。利用插值基函数立即可以写出满足插值条件的n次插值多项式)()
6、()(1100xlyxlyxlynn根 据 条 件kikixlik01)(, 容 易 验 证 上 面 多 项 式 在 节 点ix 处 的 值 为), 1,0(niyi,因此,它就是待求的n次插值多项式)(xPn。形如)()()(1100xlyxlyxlynn的插值多项式就是拉格朗日插值多项式,记为)(xLn,即精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 7 页)()()()()()()()()()(1101102211nkkkkkknkknnnxxxxxxxxxxxxxxxxxlyxlyxlyxL作为常用的特例,令1n,由上式即得两
7、点插值公式)()(0010101xxxxyyyxL,这是一个线性函数,故又名线性插值。若令1n,则又可得到常用的三点插值公式)()()()()()()(1202102210120120102102xxxxxxxxyxxxxxxxxyxxxxxxxxyxL这是一个二次函数,故又名二次插值或抛物插值。(二)牛顿插值法由 线 性 代 数 知 , 任 何 一 个 不 高 于 n 次 多 项 式 , 都 可 以 表 示 成 函 数)()( ,),)( , 1110100nxxxxxxxxxxxx的线性组合。既可以吧满足插值条件), 1,0()(niyxPii的n 次插值多项式写成如下形式)()()()(
8、110102010nnxxxxxxaxxxxaxxaa其中,ka 为待定系数。这种形式的插值多项式称为牛顿插值多项式,记为)(xNn,即 1110102010)()()()()(nnnxxxxxxaxxxxaxxaaxN因此,牛顿插值多项式)(xNn是插值多项式)(xPn的另一种表示形式。设函数)(xf在等距节点), 1 , 0(0nkkhxxk处的函数值kkyxf)(为已知,其中h是正常数,称步长。我们称两个相邻点kx 和1kx处函数之差kkyy1为函数)(xf在点kx处以h为步长的一阶向前差分,记作ky ,即kkkyyy1于是,函数)(xf在各节点处的一阶差分依次为11121010,nnn
9、yyyyyyyyy又称一阶差分的差分kkkkyyyy12)(为二阶差分。一般的,定义函数)(xf在点kx 处的 m阶差分为kmkmkmyyy111。在等距节点), 1 , 0(0nkkhxxk情况下,可以利用差分表示牛顿插值多项式的系数。事 实 上 , 由 插 值 条 件00)(yxNn可 得00ya; 再 由 插 值 条 件11)(yxNn可 得hyxxyya001011;一般的,由插值条件kknyxN)(可得),2, 1(!0nkhkyakkk。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 7 页于是,满足插值条件iinyxN)(
10、的插值多项式为)()(!)(!2)()(110010202000nnnnxxxxxxhnyxxxxhyxxhyyxN三、二者的比较拉格朗日插值法与牛顿插值法都是二种常用的简便的插值法。但牛顿法插值法则更为简便,与拉格朗日插值多项式相比较,它不仅克服了“增加一个节点时整个计算工作必须重新开始”(见下面例题)的缺点,而且可以节省乘、除法运算次数。同时,在牛顿插值多项式中用到的差分与差商等概念,又与数值计算的其他方面有着密切的关系。现用一实例比较拉格朗日插值法与牛顿插值法例 已知函数表如下:x 0.1 0.2 0.3 0.4 0.5 0.6 sinx 0.09983 0.19867 0.29552
11、0.38942 0.47943 0.56464 计算 sin(0.12)的值。利用拉格朗日插值法计算过程如下:(计算程序代码见附件)因为 0.12 位于 0.1 与 0.2 之间,故取节点2 .0, 1 .010xx利用线性插值所求的近似值为119598.01 .02 .01.012.019867.02.01.02.012.009983.0)12.0(12.0sin1L计算结果如下图利用抛物插值所求的近似值为精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 7 页119757. 0)2.03 .0)(1.03 .0()2 .012.0)(
12、1.012.0(29552. 0)3.02.0)(1.02 .0()3.012.0)(1.012. 0(19867. 0)3 .01. 0)(2.01 .0()3.012. 0)(2.012. 0(09983. 0)12.0(12. 0sin1L计算结果如下图利用牛顿插值法计算过程如下:构造差分表如下:x sinx yy2y30.1 0.2 0.3 0.4 0.09983 0.19867 0.29552 0.38942 0.09884 0.09685 0.09390 -0.00199 -0.00295 -0.00096 利用线性插值所求的近似值为11960. 009884.02. 09983.
13、0)12.0()12.0sin(1N利用抛物插值所求的近似值为11976. 000016. 0)12.0()00199.0(2) 12.0(2 .009884.02. 09983.0)12.0()12.0sin(12NN从上面的计算过程可以看出,拉格朗日插值法的线性插值与抛物插值的计算过程没有继承性,即增加一个节点时整个计算工作必须重新开始。而牛顿插值则避免了这一问题,这样大量的节省了乘、除法运算次数,减少了计算的时间。因此,对于一些结构相精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 7 页当复杂的函数)(xf,牛顿插值法比拉格朗日插
14、值法要占优势。 参考文献 1 易大义,沈云宝,李有法编. 计算方法 . 杭州:浙江大学出版社,2002 2 冯康等编 . 数值计算方法 . 北京:国防工业出版社,1987 3 李庆阳,王能超,易大义编. 数值分析(第四版). 北京:清华大学出版社,施普林格出版社,2001 4Burden R L,Faires J D,Reynolds A C. Numerical Analysis. Alpine Press,1981 5 易大义,陈道琦编. 数值分析引论 . 杭州:浙江大学出版社,1998 Comparisonbetween Lagrange interpolation method and
15、Newton interpolation method Abstract 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 to
16、 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 c
17、alculation 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 in
18、terpolation ,Interpolation polynomials ,comparison 附件:精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 7 页#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 页