§2 差商、牛顿插值多项式在计算过程中,若需要再增加插值节点并求出新的插值函数,则Lagrange 插值公式所有的基函数都要重新计算,造成计算量的很大浪费。
而以下介绍的牛顿插值公式可以克服这一缺陷,可在原有插值多项式的基础上灵活的增加插值节点。
一、 差商及其性质: 1、相关定义设给出函数)(x f 在点0x ,1x ,… ,n x ,…上的函数值 ,则有:称],[10x x f 1010()()f x f x x x -=-为函数)(x f 在0x 、1x 点的一阶差商。
一阶差商的差商],,[210x x x f 121020],[],[x x x x f x x f --= 称为函数)(x f 在0x ,1x 和2x 点的二阶差商。
1-n 阶差商的差商],,,[10n x x x f 112020],,,[],,,[------=n n n n n n x x x x x f x x x f称为函数)(x f 在n x x x ,,,10 点的n 阶差商。
见插商表4-12、性质:性质1 :差商],,,[10n x x x f 可表示为函数值的线性组合,即 ∑==ni i i n x f a x x x f 010)(],,,[ ,其中:∏≠=-=nij j j ii x xa ,0)(/1。
该性质表明:差商与节点的排列次序无关,即:],,,[10n x x x f =],,,[01n x x x f =…=],,,[01x x x f n这就是差商的对称性。
性质 2101010[,,][,,][,,,]n n n n f x x f x x f x x x x x --=-01110[,,,][,,,]n n n f x x x f x x x x -=11100[,,][,,,]n n n f x x f x x x x x --=-10110[,,][,,,]n n n f x x f x x x x x --=-性质 3 设)(x f 在所含节点n x x x ,,,10 的区间],[b a 上有n 阶导数,则在该区间内至少有一点],[b a ∈ξ,使得:!/)(],,,[)(10n f x x x f n n ξ= 由该性质可知,若)(x f 为n 次多项式,则其n 阶差商为一常数。
也就是说,当一个函数的n 阶差商接近于常数时,那么用n 次多项式近似是恰当的。
例:设73()51f x x x =++,求差商012,2f ⎡⎤⎣⎦,0122,2,2f ⎡⎤⎣⎦,0172,2,,2f ⎡⎤⎣⎦和01782,2,,2,2f ⎡⎤⎣⎦。
解: 73(1)7,(2)2521169f f ==+⨯+=,73(4)454116705f =+⨯+=1(2)(1)2,2169716221f f f -⎡⎤==-=⎣⎦- 02(4)(1)1670572,25566413f f f --⎡⎤===⎣⎦-0201012212,22,255661622,2,22702222f f f ⎡⎤⎡⎤--⎣⎦⎣⎦⎡⎤===⎣⎦-(7)017()7!2,2,,217!7!f f ξ⎡⎤===⎣⎦ (8)18()02,2,,208!8!ff ξ⎡⎤===⎣⎦二、牛顿(Newton )插值多项式:设x 是],[b a 上的一点,则由差商的定义可以得到一系列的等式:0[,]f x x 00()()f x f x x x -=-⇒)](,[)()(000x x x x f x f x f -+=001011[,][,][,,]f x x f x x f x x x x x -=-⇒)](,,[],[],[110100x x x x x f x x f x x f -+=)](,,,[],,[],,[221021010x x x x x x f x x x f x x x f -+=… … … … … … … … …)](,,,,[],,,[],,,[101010n n n n x x x x x x f x x x f x x x f -+=-依次把后式代入前式,最后可得:()()[,]()0010f x f x f x x x x =+-[,,]()()01201f x x x x x x x +--++ 001[,,]()()n n f x x x x x x ---00[,,,]()()n n f x x x x x x x +--记 )(x P n 0010()[,]()f x f x x x x =+-01201[,,]()()f x x x x x x x +--++)()](,,[100---n n x x x x x x f (1))())(](,,,[)(100n n n x x x x x x x x x f x R ---= (2)则: )()()(x R x P x f n n += (3) 由于 )(x P n 是一个次数n ≤的多项式,又由(2),(3)式可知 )(x P n 是满足插值条件的插值多项式。
称(1)式为Newton 插值多项式。
注意:Newton 插值多项式与Lagrange 插值多项式是同一函数)(x f 的插值多项式中两种不同的表达形式,它们实质上是同一个多项式。
要计算Newton 插值多项式)(x P n ,只要计算出各阶差商就可得到了。
例:已知函数)(x f 的函数表如下:求四次Newton 插值多项式,并由此求)596.0(f 的近似值。
解:计算函数)(x f 的差商表如下:故的四次Newton 插值多项式为:)(4x P 0.41075 1.11600(0.4)0.28000(0.4)(0.55)x x x =+-+-- 0.19733(0.4)(0.55)(0.65)x x x +---0.0311(0.4)(0.55)(0.65)(0.80)x x x x +---- 则:4(0.596)(0.596)0.63195f P ≈=。
例:给定数据表:求4次牛顿插值多项式,并写出插值余项。
解:由差商表可得4次牛顿插值多项式为:457()43(1)(1)(2)(1)6601(2)(4)(1)(2)(4)(6)180P x x x x x x x x x x x =--+------+----插值余项为:(5)4()()()(1)(2)(4)(6)(7)5!ff x P x x x x x x ξ-=----- (min(,1),max(,7))x x ξ∈三、差分、等距节点下的Newton 插值多项式:1. 差分定义:设等距节点,,2,1,0,0 ±±=+=i ih x x i 其中h 为常数,称为步长。
设函数()f x 的值 (),i i f f x = 则有:一阶向前差分: 1i i i f f f +∆=- , ∆称为向前差分算子。
一阶向前差分的差分为 21i i i f f f +∆=∆-∆ 称为二阶向前差分。
一阶向后差分: 1i i i f f f -∇=- , ∇称为向后差分算子。
一阶向后差分的差分为 21i i i f f f -∇=∇-∇ 称为二阶向后差分。
一般地,函数()f x 的n 阶差分可以递推的定义为111111n n n i i in n n i i i f f f f f f --+---⎧∆=∆-∆⎪⎨∇=∇-∇⎪⎩ 规定零阶差分为 00i i i f f f ∆=∇=由以上定义可以算出差分与函数值之间的关系。
例如 i i i i i i i i i f f f f f f f f f +-=∆-∆=-∆=∆∆=∆++++121122)()(差分的基本性质:性质一:mmi i m f f +∆=∇性质二:差商和差分的关系:[]0101,,!mm mf x x x f m h =∆ []011,,!mm m mf x x x f m h=∇2. 等距节点的牛顿插值公式:Newton 向前插值公式(利用向前差分代替差商) 用途:求0x 附近的函数值。
依次取等距节点0(0,1,,),,i i x i n x a x a ih ===+,已知)(i i x f f =,修改牛顿插值公式可得:20000012()()()()1!2!n f f P x f x x x x x x h h∆∆=+-+--+ )()())((!1100-----∆+n i nnx x x x x x x x hn f令],0[,0n t th x x ∈+=,又有0i x x ih =+n i h i t x x i ,,2,1,0,)( =-=-20000()()(1)1!2!n n f f P x P x th f t t t ∆∆=+=++-+)1()1(!+--∆+n t t t n f n上式称为Newton 向前插值多项式。
同样的可推出Newton 向后插值公式(利用向后差分代替差商)用途:求n x 附近的函数值。
2()()(1)1!2!n nn n n n f f P x P x th f t t t ∇∇=+=++++(1)(1)!nnf t t t n n ∇+++-上式称为Newton 向后插值多项式。
若x 在函数表的中间,可以考虑用适于表中间的插值公式,我们这里就不说了。
例:有如下表函数试计算出此列表函数的差分表,并利用牛顿向前插值公式和向后插值公式给出它的插值多项式。
构造差分表:牛顿向前插值公式:44032()()3(1)1!2!P x P x th t t t =+=++-233(1)23t t t t t =++-=++牛顿向后插值公式:44492()()27(1)1!2!P x P x th t t t =+=+++2279(1)1027t t t t t =+++=++例:给出330.54)1(0的值,计算在=x x 。
解:给出差分表:因为0x x th =+,故0t h=当5.01/)05.0(5.0=-==t x 时,,根据Newton 向前插值公式,分别求得10()010.50.51!f P x f t ∆=+=+⨯=20020()(1)0.51!2!60.5(0.51)0.252f f P x f t t t ∆∆=++-=+⨯⨯-=-332()()(1)(2)0.253!60.5(0.51)(0.52)0.1253!f P x P x t t t ∆=+--=-+⨯⨯--=443()()(1)(2)(3)0.12500.1254!f P x P x t t t t ∆=+---=+=注意:上例中由于)(x f 的四阶导数为零,则有43()()P x P x =,即0)(3=x R ,所以3()0.125P x =是精确结果。