埃尔米特插值
本文内容完全原创,严禁抄袭。
我们知道,线性插值思想在于利用n个零点解出唯一的n维多项式映射,这种方法保证了曲线的连续性但是不能保证其平滑性,例如拉格朗日插值多项式在高次情况下容易出现的抖动问题正反映了它的导数与原曲线差别是很大的。在一些情况下我们需要限定拟合曲线的导数值也尽量接近原曲线,这时可以采用Hermite插值的方法。
现假设有一函数 f ∈ C [ a , b ] f\in C[a,b] f∈C[a,b],给出一系列探测点 { ( x 0 , f ( x 0 ) ) , ( x 0 , f ′ ( x 0 ) ) , ( x 0 , f ′ ′ ( x 0 ) ) , ⋯ ( x 0 , f m ( x 0 ) ) , } \{ (x_0,f(x_0)),(x_0,f\prime(x_0)),(x_0,f\prime\prime(x_0)),\cdots (x_0,f^{m}(x_0)), \} {
(x0,f(x0)),(x0,f′(x0)),(x0,f′′(x0)),⋯(x0,fm(x0)),},我们可以写出它在 x 0 x_0 x0处的密切多项式:
P ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) + ⋯ + f m ( x 0 ) m ! ( x − x 0 ) P(x)=f(x_0)+f\prime(x_0)(x-x_0)+\cdots+\frac{f^{m}(x_0)}{m!}(x-x_0) P(x)=f(x0)+f′(x0)(x−x0)+⋯+m!fm(x0)(x−x0)
所谓密切多项式也就是说这一点处的n阶导数都是与原函数相同的。注意这只是在某一点处,如果有来自n个点的数据,能够得到的m值往往是不同的,我们用这一系列的点所构造的插值多项式必然要去满足最大m的插值多项式。
Hermite插值就是基于构造密切多项式的思想进行的,我们先看一下最常见的2阶密切多项式,它保证插值点处的导数和函数值都与原函数相同:
P ( x ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) + f ′ ′ ( ξ ) ( x − x 0 ) 2 P(x)=f(x_0)+f\prime(x_0)(x-x_0)+f\prime\prime(\xi)(x-x_0)^2 P(x)=f(x0)+f′(x0)(x−x0)+f′′(ξ)(x−x