Lagrange插值法、Newton插值法、逐次插值法、分段插值法,只要求插值多项式 p n ( x ) p_n(x) pn(x)与被插值函数 f ( x ) f(x) f(x)在插值节点处的函数值相等即可,即 p n ( x i ) = f ( x i ) ( i = 0 , 1 , ⋯ , n ) p_n(x_i)=f(x_i)(i=0,1,\cdots,n) pn(xi)=f(xi)(i=0,1,⋯,n)。但这种插值不能完全反映出被插值函数的性态。在许多实际问题中,不仅要求插值函数与被插值函数在节点处的函数值相同,而且还要求插值函数与被插值函数在某些节点处的导数值,甚至高阶导数值也相同。按照这种插值条件所进行的插值称为Hermite插值。其中,最常见的是要求一阶导数值相同的插值。下面就来导出其插值多项式。
1. Hermite插值多项式
假设已知函数
y
=
f
(
x
)
y=f(x)
y=f(x)在插值节点
x
i
(
i
=
0
,
1
,
⋯
,
n
)
x_i(i=0,1,\cdots,n)
xi(i=0,1,⋯,n)处的函数值为
y
i
=
f
(
x
i
)
y_i=f(x_i)
yi=f(xi),一阶导数值为
m
i
=
f
′
(
x
i
)
(
i
=
0
,
1
,
2
,
⋯
,
n
)
m_i=f'(x_i)(i=0,1,2,\cdots,n)
mi=f′(xi)(i=0,1,2,⋯,n),则
H
e
r
m
i
t
e
Hermite
Hermite插值多项式
H
(
x
)
H(x)
H(x)满足:
{
H
(
x
i
)
=
y
i
,
H
′
(
x
i
)
=
m
i
,
i
=
0
,
1
,
⋯
,
n
(1)
\begin{cases} H(x_i)=y_i , \\ H'(x_i)=m_i, \quad i=0,1,\cdots,n \end{cases} \tag{1}
{H(xi)=yi,H′(xi)=mi,i=0,1,⋯,n(1)
其几何意义就是,要求
y
=
H
(
x
)
y=H(x)
y=H(x)的图形与
y
=
f
(
x
)
y=f(x)
y=f(x)的图形在这n+1个点处相切,因此
x
0
,
x
1
,
⋯
,
x
n
x_0,x_1,\cdots,x_n
x0,x1,⋯,xn称为二重节点。在(1)式中有
2
(
n
+
1
)
2(n+1)
2(n+1)个条件,因此可以确定一个次数不超过
2
n
+
1
2n+1
2n+1次的插值多项式。仿照求Lagrange插值多项式的方法,设
H
(
x
)
=
a
0
(
x
)
y
0
+
β
0
(
x
)
m
0
+
a
1
(
x
)
y
1
+
β
1
(
x
)
m
1
+
⋯
+
a
n
(
x
)
y
n
+
β
n
(
x
)
m
H(x)=a_0(x)y_0+\beta_0(x)m_0+a_1(x)y_1+\beta_1(x)m_1+\cdots+a_n(x)y_n+\beta_n(x)m
H(x)=a0(x)y0+β0(x)m0+a1(x)y1+β1(x)m1+⋯+an(x)yn+βn(x)m
或
H
(
x
)
=
∑
i
=
0
n
(
a
i
(
x
)
y
i
)
+
β
i
(
x
)
m
i
H(x)=\sum_{i=0}^n(a_i(x)y_i)+\beta_i(x)m_i
H(x)=i=0∑n(ai(x)yi)+βi(x)mi
根据插值条件,
a
i
(
x
)
a_i(x)
ai(x)和
β
i
(
x
)
\beta_i(x)
βi(x)必须分别满足:
{
a
i
(
x
k
)
=
{
0
,
k
≠
i
1
,
k
=
i
i
,
k
=
0
,
1
,
⋯
,
n
a
i
′
(
x
k
)
=
0
\begin{cases} a_i(x_k)=\begin{cases} 0,k\neq i \\ 1,k=i \quad i,k=0,1,\cdots,n\end{cases} \\ a_i'(x_k)=0 \end{cases}
⎩⎪⎨⎪⎧ai(xk)={0,k=i1,k=ii,k=0,1,⋯,nai′(xk)=0
和
{
β
i
(
x
k
)
=
0
β
i
′
(
x
k
)
=
{
0
,
k
≠
i
1
,
k
=
i
,
i
,
k
=
0
,
1
,
⋯
,
n
\begin{cases} \beta_i(x_k) = 0\\ \beta_i'(x_k)=\begin{cases}0,k\neq i \\ 1,k=i, \quad i,k=0,1,\cdots,n \end{cases} \end{cases}
⎩⎪⎨⎪⎧βi(xk)=0βi′(xk)={0,k=i1,k=i,i,k=0,1,⋯,n
这样确定的
α
i
(
x
)
\alpha_i(x)
αi(x)和
β
i
(
x
)
\beta_i(x)
βi(x)称为Hermite插值基函数。显然,基函数
a
i
(
x
)
a_i(x)
ai(x)与
β
i
(
x
)
\beta_i(x)
βi(x)一旦确定下来,
H
e
r
m
i
t
e
Hermite
Hermite插值多项式
H
(
x
)
H(x)
H(x)就确定出来了。下面导出
a
i
(
x
)
a_i(x)
ai(x)和
β
i
(
x
)
\beta_i(x)
βi(x)的具体形式:
(1)先确定 β i ( x ) \beta_i(x) βi(x)。
由
β
i
(
x
k
)
=
β
i
′
(
x
k
)
=
0
(
k
≠
i
)
\beta_i(x_k)=\beta_i'(x_k)=0 \quad(k\neq i)
βi(xk)=βi′(xk)=0(k=i)
知
β
i
(
x
i
)
\beta_i(x_i)
βi(xi)以
x
k
(
k
≠
i
)
x_k(k\neq i)
xk(k=i)为二重零点,又由
β
i
(
x
i
)
=
0
,
β
i
′
(
x
i
)
=
1
≠
0
\beta_i(x_i)=0, \quad \beta_i'(x_i)=1\neq 0
βi(xi)=0,βi′(xi)=1=0
知
β
i
(
x
)
\beta_i(x)
βi(x)以
x
i
x_i
xi为一重零点。由于
β
i
(
x
)
\beta_i(x)
βi(x)为次数不超过
2
n
+
1
2n+1
2n+1的多项式,再根据Lagrange基函数
l
i
(
x
)
l_i(x)
li(x)的定义,可设
β
i
(
x
)
=
β
^
i
×
(
x
−
x
i
)
×
l
i
2
(
x
)
,
β
^
i
为
常
数
\beta_i(x)=\hat \beta_i \times(x-x_i)\times l_i^2(x), \quad \hat \beta_i为常数
βi(x)=β^i×(x−xi)×li2(x),β^i为常数
由
β
i
′
(
x
i
)
=
1
\beta_i'(x_i)=1
βi′(xi)=1,得
β
^
i
=
1
\hat \beta_i=1
β^i=1,故有:
β
i
(
x
)
=
(
x
−
x
i
)
l
i
2
(
x
)
\beta_i(x)=(x-x_i)l_i^2(x)
βi(x)=(x−xi)li2(x)
(2)再确定
a
i
(
x
)
a_i(x)
ai(x)
同理,根据
a
i
(
x
)
a_i(x)
ai(x)的定义,
a
i
(
x
)
a_i(x)
ai(x)含有因子
l
i
2
(
x
)
l_i^2(x)
li2(x),故可令
a
i
(
x
)
=
(
a
x
+
b
)
×
l
2
2
(
x
)
a_i(x)=(ax+b)\times l_2^2(x)
ai(x)=(ax+b)×l22(x)
其中,a,b为特定常数。于是由条件
{
a
i
(
x
i
)
=
1
a
i
′
(
x
i
)
=
0
\begin{cases} a_i(x_i)=1 \\ a_i'(x_i)=0 \end{cases}
{ai(xi)=1ai′(xi)=0
可得出:
{
a
x
i
+
b
=
1
a
+
2
l
i
′
(
x
i
)
=
0
\begin{cases} ax_i+b=1 \\ a + 2l_i'(x_i)=0 \end{cases}
{axi+b=1a+2li′(xi)=0
所以
{
a
=
−
2
l
i
′
(
x
i
)
b
=
1
+
2
x
i
l
i
′
(
x
i
)
\begin{cases} a = -2l_i'(x_i) \\ b = 1+2x_il_i'(x_i) \end{cases}
{a=−2li′(xi)b=1+2xili′(xi)
用对数法对
l
i
(
x
)
=
(
x
−
x
0
)
⋯
(
x
−
x
l
−
1
)
(
x
−
x
l
+
1
)
⋯
(
x
−
x
n
)
(
x
i
−
x
0
)
⋯
(
x
i
−
x
i
−
1
)
(
x
i
−
x
i
+
1
)
⋯
(
x
i
−
x
n
)
l_i(x)=\frac{(x-x_0)\cdots(x-x_{l-1})(x-x_{l+1})\cdots(x-x_n)}{(x_i-x_0)\cdots(x_i-x_{i-1})(x_i-x_{i+1})\cdots(x_i-x_n)}
li(x)=(xi−x0)⋯(xi−xi−1)(xi−xi+1)⋯(xi−xn)(x−x0)⋯(x−xl−1)(x−xl+1)⋯(x−xn)求导,得
l
i
′
(
x
i
)
=
∑
k
=
0
,
k
≠
i
n
1
x
i
−
x
k
l_i'(x_i)=\sum_{k=0,k\neq i}^n\frac{1}{x_i-x_k}
li′(xi)=∑k=0,k=inxi−xk1,故
a
i
(
x
)
=
(
1
−
2
(
x
−
x
i
)
∑
k
=
0
,
k
≠
1
n
1
x
i
−
x
k
)
l
i
2
(
x
)
a_i(x)=(1-2(x-x_i)\sum_{k=0,k\neq 1}^n\frac{1}{x_i-x_k})l_i^2(x)
ai(x)=(1−2(x−xi)k=0,k=1∑nxi−xk1)li2(x)
即得到Hermite插值多项式为:
H
(
x
)
=
∑
i
=
0
n
{
y
i
+
(
x
i
−
x
)
[
(
2
∑
k
=
0
,
k
≠
i
n
1
x
i
−
x
k
)
y
i
−
m
i
]
}
×
l
i
2
(
x
)
H(x)=\sum_{i=0}^n\{y_i+(x_i-x)[(2\sum_{k=0,k\neq i}^n\frac{1}{x_i-x_k})y_i-m_i]\}\times l_i^2(x)
H(x)=i=0∑n{yi+(xi−x)[(2k=0,k=i∑nxi−xk1)yi−mi]}×li2(x)
(3)最后证明Hermit插值多项式惟一性
假设另有一个不超过
2
n
+
1
2n+1
2n+1次的多项式
h
(
x
)
h(x)
h(x)并满足Hermite插值条件,设
φ
(
x
)
=
H
(
x
)
−
h
(
x
)
\varphi(x)=H(x)-h(x)
φ(x)=H(x)−h(x)
则有
φ
(
x
i
)
=
H
(
x
i
)
−
h
(
x
i
)
=
f
(
x
i
)
−
f
(
x
i
)
=
0
,
(
i
=
0
,
1
,
⋯
,
n
)
\varphi(x_i)=H(x_i)-h(x_i)=f(x_i)-f(x_i)=0, \quad(i=0,1,\cdots,n)
φ(xi)=H(xi)−h(xi)=f(xi)−f(xi)=0,(i=0,1,⋯,n)
φ ′ ( x i ) = H ′ ( x i ) − h ′ ( x i ) = m i − m i = 0 ( i = 0 , 1 , ⋯ , n ) \varphi'(x_i)=H'(x_i)-h'(x_i)=m_i-m_i=0 \quad(i=0,1,\cdots,n) φ′(xi)=H′(xi)−h′(xi)=mi−mi=0(i=0,1,⋯,n)
于是
φ
(
x
)
\varphi(x)
φ(x)有2n+2个零点,但是由于
φ
(
x
)
\varphi(x)
φ(x)是次数不超过
2
n
+
1
2n+1
2n+1的多项式,所以
φ
(
x
)
≡
0
\varphi(x) \equiv 0
φ(x)≡0,从而有:
H
(
x
)
=
h
(
x
)
H(x)=h(x)
H(x)=h(x)
2. Hermite插值余项
设
f
(
x
)
f(x)
f(x)在插值区间上有2n+2阶导数,令
R
(
x
)
=
f
(
x
)
−
H
(
x
)
R(x)=f(x)-H(x)
R(x)=f(x)−H(x),由
H
(
x
)
H(x)
H(x)的定义知,
x
i
(
i
=
0
,
1
,
⋯
,
n
)
x_i(i=0,1,\cdots,n)
xi(i=0,1,⋯,n)是
R
(
x
)
R(x)
R(x)的二重零点,因此
R
(
x
)
R(x)
R(x)含有
(
x
−
x
i
)
(x-x_i)
(x−xi)因子,故可设
R
(
x
)
=
k
(
x
)
∏
2
(
x
)
=
k
(
x
)
⋅
[
(
x
−
x
0
)
(
x
−
x
1
)
⋯
(
x
−
x
n
)
]
2
R(x)=k(x)\prod^2(x)=k(x)·[(x-x_0)(x-x_1)\cdots(x-x_n)]^2
R(x)=k(x)∏2(x)=k(x)⋅[(x−x0)(x−x1)⋯(x−xn)]2
作辅助函数
φ
(
t
)
=
f
(
t
)
−
H
(
t
)
−
k
(
x
)
∏
2
(
t
)
\varphi(t)=f(t)-H(t)-k(x)\prod^2(t)
φ(t)=f(t)−H(t)−k(x)∏2(t)
则有
φ
(
x
i
)
=
0
,
φ
′
(
x
i
)
=
0
(
i
=
0
,
1
,
⋯
,
n
)
\varphi(x_i)=0, \quad \varphi'(x_i)=0 \quad(i=0,1,\cdots,n)
φ(xi)=0,φ′(xi)=0(i=0,1,⋯,n)
φ ( x ) = 0 \varphi(x)=0 φ(x)=0
所以,
φ
(
t
)
\varphi(t)
φ(t)至少有n+1个二重零点
x
i
(
i
=
0
,
1
,
⋯
,
n
)
x_i(i=0,1,\cdots,n)
xi(i=0,1,⋯,n)和一个单零点x。按照Rolle定理,
φ
′
(
t
)
\varphi '(t)
φ′(t)在
x
0
,
x
1
,
⋯
,
x
n
,
x
x_0,x_1,\cdots,x_n,x
x0,x1,⋯,xn,x每相邻两个零点之间各有一个零点,且
x
0
,
x
1
,
⋯
,
x
n
x_0,x_1,\cdots,x_n
x0,x1,⋯,xn仍是
φ
′
(
t
)
\varphi'(t)
φ′(t)的零点。所以
φ
′
(
t
)
\varphi'(t)
φ′(t)至少有2n+2个零点。同理
φ
′
′
(
t
)
\varphi''(t)
φ′′(t)在插值区间内至少有2n+1个零点,依次类推,
φ
(
2
n
+
2
)
(
t
)
\varphi^{(2n+2)}(t)
φ(2n+2)(t)在插值区间内至少有一个零点
ξ
\xi
ξ,即:
φ
(
2
n
+
2
)
(
ξ
)
=
f
(
2
n
+
2
)
(
ξ
)
−
k
(
x
)
⋅
(
2
n
+
2
)
!
=
0
\varphi^{(2n+2)}(\xi)=f^{(2n+2)}(\xi)-k(x)·(2n+2)!=0
φ(2n+2)(ξ)=f(2n+2)(ξ)−k(x)⋅(2n+2)!=0
所以
由此得余项为:
R
(
x
)
=
f
(
2
n
+
2
)
(
ξ
)
(
2
n
+
2
)
!
∏
2
(
2
)
其
中
ξ
依
赖
于
变
量
x
R(x)=\frac{f^{(2n+2)}(\xi)}{(2n+2)!}\prod^2(2) \quad 其中\xi依赖于变量x
R(x)=(2n+2)!f(2n+2)(ξ)∏2(2)其中ξ依赖于变量x