Hermite插值

插值

张瑞
中国科学技术大学数学科学学院

Hermite 插值

在插值条件中,除了函数值的条件以外,有时候还需要导数条件。

定义 1.
有节点组$\{x_i\}_{i=0}^n$互不相同,若多项式$p(x)$在每个节点上除满足插值条件

\[p(x_i)=f(x_i),i=0,\cdots,n \]

同时还满足导数条件

\[\begin{aligned} p^{(k)}(x_i)=f^{(k)}(x_i),& k=0,1,\cdots,p_i,\\ & i=0,\cdots,n \end{aligned} \]

则称为$p(x)$$f(x)$Hermite插值

对每个节点$x_i$,值$p_i$可以不同。若$p_i$$0$,则表示没有导数条件。

基函数构造法

例 1. 求满足插值条件$f(x_0)$, $f(x_1)$, $f'(x_1)$, $f(x_2)$的多项式$H(x)$,并给出误差表达式。

.

\[H(x)=f(x_0)h_0(x)+f(x_1)h_1(x)+f(x_2)h_2(x)+f'(x_1)h_3(x) \]

$4$个条件,可以确定$H(x)$3次多项式。则所有的$h_i(x)$都是次数不高于$3$次的多项式。

由插值条件,可以整理得到$H_i(x)$应该满足的条件

$h_0(x)$ $h_1(x)$ $h_2(x)$ $h_3(x)$
$x_0$ 1 0 0 0
$x_1$ 0 1 0 0
$x_2$ 0 0 1 0
$x'_1$ 0 0 0 1
  1. $h_0(x)$有根$x_1$$x_2$,且$x_1$为二重根,则
    \[h_0(x)=a(x-x_1)^2(x-x_2) \]
    $h_0(x_0)=1$,即
    \[a(x_0-x_1)^2(x_0-x_2)=1 \]
    可以得到
    \[a=\frac{1}{(x_0-x_1)^2(x_0-x_2)} \]
    \[h_0(x)=\frac{(x-x_1)^2(x-x_2)}{(x_0-x_1)^2(x_0-x_2)} \]
  1. 类似,可以得到
    \[h_2(x)=\frac{(x-x_1)^2(x-x_0)}{(x_2-x_1)^2(x_2-x_0)} \]
  1. 对于$h_1(x)$,有根$x_0$, $x_2$
    \[h_1(x)=(a(x-x_1)+b)(x-x_0)(x-x_2) \]
    由条件$h_1(x_1)=1$, $h'_1(x_1)=0$,可得
    \[\begin{cases} b(x_1-x_0)(x_1-x_2)=1 \\ a(x_1-x_0)(x_1-x_2)+b(x_1-x_2)+b(x_1-x_0)=0 \end{cases} \]
    可以得到
    \[\begin{cases} b=\frac{1}{(x_1-x_0)(x_1-x_2)}\\ a=\frac{-(x_1-x_0)-(x_1-x_2)}{(x_1-x_0)^2(x_1-x_2)^2} \end{cases} \]
  1. 对于$h_3(x)$,有根$x_0$, $x_1$, $x_2$,则有
    \[h_3(x)=a(x-x_0)(x-x_1)(x-x_2) \]
    $h'_3(x_1)=1$,有
    \[a(x_1-x_0)(x_1-x_2)=1 \]
    所以
    \[h_3(x)=\frac{(x-x_0)(x-x_1)(x-x_2)}{(x_1-x_0)(x_1-x_2)} \]

误差分析

误差分析可以参考Lagrange插值的误差分析手段。

\[R(x)=f(x)-H(x) \]

由插值条件,有

\[\begin{aligned} R(x_i)=&f(x_i)-H(x_i)=0, i=0,1,2 \\ R'(x_1)=&f'(x_1)-H'(x_1)=0 \\ \end{aligned} \]

不防设

\[R(x)=K(x)(x-x_0)(x-x_1)^2(x-x_2) \]

取辅助函数

\[\phi(t)=f(t)-H(t)-K(x)(t-x_0)(x-x_1)^2(t-x_2) \]

$\phi(t)$有零点$\{x_0, x_1, x_2, x\}$,其中$x_1$是二重根。

  • 由Rolle定理知,至少存在$\xi_1$, $\xi_2$, $\xi_3$三个互不相同, 且与$x_0, x_1,x_2, x$均不相同的点,是$\phi'(x)$的零点。
  • 这样,$\phi'(t)$$\xi_i$, $i=1,2,3$$x_1$共4个零点。
  • 因此,$\phi''(t)$至少有3个互不相同的零点。
  • $\phi^{(4)}(t)$至少有1个零点,即存在$\xi$满足
    \[0=\phi^{(4)}(\xi)=f^{(4)}(\xi)-K(x)4! \]

即,当$f(x)$具有4阶导数时,存在$\xi$,使得误差

\[R(x)=\frac{f^{(4)}(\xi)}{4!}(x-x_0)(x-x_1)^2(x-x_2) \]

例 2. (二重密切Hermite插值) 在节点$x_0,x_1,\cdots,x_n$上,满足$H(x_i)=f(x_i)$, $H'(x_i)=f'(x_i)$, $i=0,1,\cdots,n$的多项式$H(x)$

. 如前,

  1. 共有$2n+2$个插值条件,因此插值多项式$H(x)$为至多$2n+1$次。
  2. $2n+1$次函数$\alpha_i(x)$, $\beta_i(x)$, $i=0,1,\cdots,n$满足
    \[\begin{aligned} \alpha_i(x_j)=\delta_{ij}, \alpha'_i(x_j)=0 \\ \beta_i(x_j)=0, \beta'_i(x_j)=\delta_{ij} \end{aligned} \]
    则插值函数为
    \[H(x)=\sum_{i=0}^n f(x_i)\alpha_i(x)+\sum_{i=0}^n f'(x_i)\beta_i(x) \]

\[\alpha_j(x)=(ax+b)l^2_j(x) \]

则有

\[\begin{aligned} \alpha_j(x_j)&=(ax_j+b)l_j^2(x_j)=1 \\ \alpha'_j(x_j)&=l_j(x_j)[al_j(x_j)+2(ax_j+b)l'_j(x_j)]=0 \end{aligned} \]

利用$l_j(x_j)=1$,整理得

\[\begin{aligned} ax_j+b=1 \\ a+2l'(x_j)=0 \end{aligned} \]

可得

\[a=-2l'_j(x_j), b=1+2x_jl'_j(x_j) \]

其中

\[l_j'(x_j)=\sum_{k=0,k\neq j}^n\frac1{x_j-x_k} \]

得到

\[\alpha_j(x)=\left(1-2(x-x_j)\sum_{k=0,k\neq j}^n\frac1{x_j-x_k}\right)l_j^2(x) \]

同理,可得$\beta_j(x)$

\[\beta_j(x)=(x-x_j)l_j^2(x) \]

充分利用多项式的性质,可以得到

\[\begin{aligned} \alpha_j(x)=&\left(1-2(x-x_j)\sum_{k=0,k\neq j}^n\frac1{x_j-x_k}\right)l_j^2(x) \\ \beta_j(x)=&(x-x_j)l_j^2(x) \end{aligned} \]

作业

  1. 写出在节点$\{x_i\}_{i=0}^n$上的二重密切Hermite插值多项式的误差。
  2. 写出满足$H(x_0)=f(x_0)$, $H(x_1)=f(x_1)$, $H'(x_0)=f'(x_0)$, $H'(x_1)=f'(x_1)$ 的3次密切Hermite插值多项式$H(x)$, 并且计算$H''(x)$$H''(x_0)$, $H''(x_1)$

差商法

也可以构造差商表,用Newton插值的方法来计算。此时,

\[f[\underbrace{x_0,x_0\cdots,x_0}_{n+1}]=\frac{1}{n!}f^{(n)}(x_0) \]

例 3. 已知$f(-1)=0$, $f(0)=4$, $f'(0)=0$, $f''(0)=6$, $f(1)=-2$, $f'(1)=5$。 求满足如上插值条件的多项式。

. 构造差商表如下,

$x_i$ $f(x_i)$ 一阶差商 二阶差商 三阶差商 四阶差商 五阶差商
-1 0
0 -4 -4
0 -4 0 4
0 -4 0 3 -1
1 -2 2 2 -1 0
1 -2 5 3 1 2 1

则有

\[H(x)=0-4(x+1)+4(x+1)x-(x+1)x^2+(x+1)x^3(x-1) \]

谢谢

vertical slide 2

目录

本节读完

例 4.

4.