【数值分析】Hermite插值

4. Hermite插值

理论和应用中提出的某些插值问题,要求插值函数 p ( x ) {p(x)} p(x) 具有一定的光滑度,即在插值节点处满足一定的导数条件,这类插值问题称为Hermite插值问题。题目大多以三次Hermite插值为主。三次Hermite插值需要四个条件,二次Hermite插值需要三个条件,分类如下:
在这里插入图片描述

4.1 待定系数法求Hermite插值

Hermite插值我们一定会知道给定点的函数值,和某些点的导数值。由多项式插值得到的插值函数是唯一的,我们可以先用已知点构造拉格朗日或牛顿插值,得到一部分插值多项式,再根据导数值往插值多项式加入待定系数项,并代入导数值求解。这种方法比后两种快很多。

[!example]-
已知
x ∣ ∣ 0 ∣ 1 ∣ 2 ∣ = = = = = = = = f ( x ) ∣ ∣ 5 ∣ 3 ∣ 9 ∣ − − − − − − − − f ′ ( x ) ∣ ∣ − 4 ∣ 0 ∣ ∣ \begin{array}{cccccc} x&||& 0 &|& 1 &|& 2 &| \\=&=&=&=&=&=&=&=\\ f(x)&||& 5 &|& 3 &|& 9 &| \\ -&-&-&-&-&-&-&- \\ f'(x) &||& -4 &|&0 &|& &| \\ \end{array} x=f(x)f(x)∣∣=∣∣∣∣0=54=1=30=2=9=
用已知的五个条件求四次Hermite插值多项式。
解:先用三个点的函数值求拉格朗日插值多项式
L ( x ) = 5 ( x − 1 ) ( x − 2 ) ( 0 − 1 ) ( 0 − 2 ) + 3 ( x − 0 ) ( x − 2 ) ( 1 − 0 ) ( 1 − 2 ) + 9 ( x − 0 ) ( x − 1 ) ( 2 − 0 ) ( 2 − 1 ) = 4 x 2 − 6 x + 5 \begin{align*} L(x)=&5 \frac{(x-1)(x-2)}{(0-1)(0-2)}+3 \frac{(x-0)(x-2)}{(1-0)(1-2)}+9 \frac{(x-0)(x-1)}{(2-0)(2-1)} \\ \\ =&4x^2-6x+5 \end{align*} L(x)==5(01)(02)(x1)(x2)+3(10)(12)(x0)(x2)+9(20)(21)(x0)(x1)4x26x+5

H ( x ) = L ( x ) + ( a x + b ) ( x − 0 ) ( x − 1 ) ( x − 2 ) H ′ ( x ) = 8 x − 6 + 4 a x 3 + ( 3 b − 9 a ) x 2 + ( 4 a − 6 b ) x + 2 b H ′ ( 0 ) = − 6 + 2 b = − 4 H ′ ( 1 ) = 2 + 4 a + 3 b − 9 a + 4 a − 6 b + 2 b = 2 − a − b = 0 \begin{align*} H(x)=&L(x)+(ax+b)(x-0)(x-1)(x-2)\\ \\ H'(x)=&8x-6+4ax^3+(3b-9a)x^2+(4a-6b)x+2b \\ \\ H'(0)=&-6+2b=-4 \\ \\ H'(1)=&2+4a+3b-9a+4a-6b+2b=2-a-b=0 \end{align*} H(x)=H(x)=H(0)=H(1)=L(x)+(ax+b)(x0)(x1)(x2)8x6+4ax3+(3b9a)x2+(4a6b)x+2b6+2b=42+4a+3b9a+4a6b+2b=2ab=0
∴ a = 1    ,    b = 1 \therefore a=1 \,\,,\,\, b=1 a=1,b=1
H ( x ) = x 4 − 2 x 3 + 3 x 2 − 4 x + 5 H(x)=x^4-2x^3+3x^2-4x+5 H(x)=x42x3+3x24x+5

4.2 两点三次Hermite插值

确定三次插值多项式 H 3 ( x ) {H_3(x)} H3(x) 使满足:
H 3 ( x 0 ) = f ( x 0 ) = y 0    ,    H 3 ( x 1 ) = f ( x 1 ) = y 1 H 3 ′ ( x 0 ) = f ′ ( x 0 ) = y 0 ′    ,    H 3 ′ ( x 1 ) = f ′ ( x 1 ) = y 1 ′ \begin{align*} H_3(x_0)=f(x_0)=y_0 \,\,,\,\, H_3(x_1)=f(x_1)=y_1 \\ \\ H_3'(x_0)=f'(x_0)=y_0' \,\,,\,\, H_3'(x_1)=f'(x_1)=y_1' \end{align*} H3(x0)=f(x0)=y0,H3(x1)=f(x1)=y1H3(x0)=f(x0)=y0,H3(x1)=f(x1)=y1
方法:基函数法,基函数为三次多项式。
步骤:

  1. H 3 ( x ) {H_3(x)} H3(x) H 3 ′ ( x ) {H_3'(x)} H3(x) 的表达式
    H 3 ( X ) = ϕ 0 ( x ) y 0 + ϕ 1 ( x ) y 1 + ψ 0 ( x ) y 1 ′ + ψ 1 ( x ) y 1 ′ (1) H_3(X)= \phi_0(x)y_0+\phi_1(x)y_1+\psi_0(x)y_1'+\psi_1(x)y_1' \tag{1} H3(X)=ϕ0(x)y0+ϕ1(x)y1+ψ0(x)y1+ψ1(x)y1(1)
    H 3 ′ ( X ) = ϕ 0 ′ ( x ) y 0 + ϕ 1 ′ ( x ) y 1 + ψ 0 ′ ( x ) y 1 ′ + ψ 1 ′ ( x ) y 1 ′ (2) H_3'(X)= \phi_0'(x)y_0+\phi_1'(x)y_1+\psi_0'(x)y_1'+\psi_1'(x)y_1' \tag{2} H3(X)=ϕ0(x)y0+ϕ1(x)y1+ψ0(x)y1+ψ1(x)y1(2)
  2. 根据表达式列表
    将 x 0 代入 ( 1 ) 将 x 1 代入 ( 1 ) 将 x 0 代入 ( 2 ) 将 x 1 代入 ( 2 ) ϕ 0 ( x 0 ) = 1 ϕ 0 ( x 1 ) = 0 ϕ 0 ′ ( x 0 ) = 0 ϕ 0 ′ ( x 1 ) = 0 ϕ 1 ( x 0 ) = 0 ϕ 1 ( x 1 ) = 1 ϕ 1 ′ ( x 0 ) = 0 ϕ 1 ′ ( x 1 ) = 0 ψ 0 ( x 0 ) = 0 ψ 0 ( x 1 ) = 0 ψ 0 ′ ( x 0 ) = 1 ψ 0 ′ ( x 1 ) = 0 ψ 1 ( x 0 ) = 0 ψ 1 ( x 1 ) = 0 ψ 1 ′ ( x 0 ) = 0 ψ 1 ′ ( x 1 ) = 1 \begin{array}{cccccc} 将 x_0 代入(1) & 将 x_1 代入(1) & 将 x_0 代入(2) & 将 x_1 代入(2) \\ \\ \phi_0(x_0)=1 & \phi_0(x_1)=0 & \phi_0'(x_0)=0 & \phi_0'(x_1)=0 \\ \\ \phi_1(x_0)=0 & \phi_1(x_1)=1 & \phi_1'(x_0)=0 & \phi_1'(x_1)=0 \\ \\ \psi_0(x_0)=0 & \psi_0(x_1)=0 & \psi_0'(x_0)=1 & \psi_0'(x_1)=0 \\ \\ \psi_1(x_0)=0 & \psi_1(x_1)=0 & \psi_1'(x_0)=0 & \psi_1'(x_1)=1 \\ \\ \end{array} x0代入(1)ϕ0(x0)=1ϕ1(x0)=0ψ0(x0)=0ψ1(x0)=0x1代入(1)ϕ0(x1)=0ϕ1(x1)=1ψ0(x1)=0ψ1(x1)=0x0代入(2)ϕ0(x0)=0ϕ1(x0)=0ψ0(x0)=1ψ1(x0)=0x1代入(2)ϕ0(x1)=0ϕ1(x1)=0ψ0(x1)=0ψ1(x1)=1
  3. 求基函数
    ϕ 0 {\phi_0} ϕ0 来说,有一个二重零点 x 1 {x_1} x1 ,再设一个零点,有
    ϕ 0 ( x ) = ( x − x 1 ) 2 ( a x + b )    ,    ( 代入   ϕ 0 ( x 0 ) = 1 , ϕ 0 ′ ( x 0 ) = 0   求   a , b ) \phi_0(x)=(x-x_1)^2(ax+b) \,\,,\,\, (代入\, \phi_0(x_0)=1,\phi_0'(x_0)=0\,求\,a,b) ϕ0(x)=(xx1)2(ax+b),(代入ϕ0(x0)=1,ϕ0(x0)=0a,b)
    ϕ 1 {\phi_1} ϕ1 来说,有一个二重零点 x 0 {x_0} x0 ,再设一个零点,有
    ϕ 1 ( x ) = ( x − x 0 ) 2 ( a x + b )    ,    ( 代入   ϕ 1 ( x 1 ) = 1 , ϕ 1 ′ ( x 1 ) = 0   求   a , b ) \phi_1(x)=(x-x_0)^2(ax+b) \,\,,\,\, (代入\, \phi_1(x_1)=1,\phi_1 '(x_1)=0\,求\,a,b) ϕ1(x)=(xx0)2(ax+b),(代入ϕ1(x1)=1,ϕ1(x1)=0a,b)
    ψ 0 {\psi_0} ψ0 来说,有一个一重零点 x 0 {x_0} x0 ,有一个二重零点 x 1 {x_1} x1
    ψ 0 ( x ) = c ( x − x 0 ) ( x − x 1 ) 2    ,    ( 代入   ψ 0 ′ ( x 0 ) = 1   求出   c ) \psi_0(x)=c(x-x_0)(x-x_1)^2 \,\,,\,\, (代入 \, \psi_0'(x_0)=1\,求出\,c) ψ0(x)=c(xx0)(xx1)2,(代入ψ0(x0)=1求出c)
    ψ 1 {\psi_1} ψ1 来说,有一个一重零点 x 1 {x_1} x1 ,有一个二重零点 x 0 {x_0} x0
    ψ 1 ( x ) = c ( x − x 1 ) ( x − x 0 ) 2    ,    ( 代入   ψ 1 ′ ( x 1 ) = 1   求出   c ) \psi_1(x)=c(x-x_1)(x-x_0)^2 \,\,,\,\, (代入 \, \psi_1'(x_1)=1\,求出\,c) ψ1(x)=c(xx1)(xx0)2,(代入ψ1(x1)=1求出c)
    还需要知道基函数的导数形式以方便求解,若
    ϕ ( x ) = ( x − x i ) 2 ( a x + b ) = 1 \phi(x)=(x-x_i)^2(ax+b)=1 ϕ(x)=(xxi)2(ax+b)=1
    ϕ ′ ( x ) = 2 ( x − x i ) ( a x + b ) + a ( x − x i ) 2 = 0 \begin{align*} \phi'(x)=& 2(x-x_i)(ax+b)+a(x-x_i)^2=0 \end{align*} ϕ(x)=2(xxi)(ax+b)+a(xxi)2=0
    解得
    a = − 2 ( x − x i ) 3 b = ( 3 x − x i ) ( x − x i ) 3 \begin{align*} a= &-\frac{2}{(x-x_i)^3} \\ \\ b = & \frac{(3x-x_i)}{(x-x_i)^3} \end{align*} a=b=(xxi)32(xxi)3(3xxi)

    ψ i ( x ) = c ( x − x i ) ( x − x j ) 2 \psi_i(x)=c(x-x_i)(x-x_j)^2 ψi(x)=c(xxi)(xxj)2
    ψ i ′ ( x ) = c ( x − x j ) 2 + 2 c ( x − x j ) ( x − x i ) = 1 \psi_i'(x)=c(x-x_j)^2+2c(x-x_j)(x-x_i)=1 ψi(x)=c(xxj)2+2c(xxj)(xxi)=1
    解得
    c = 1 ( x − x j ) 2 + 2 ( x − x i ) ( x − x j ) ∣ x = x i = 1 ( x i − x j ) 2 c= \frac{1}{(x-x_j)^2+2(x-x_i)(x-x_j)}\Bigg|_{x=x_i}=\frac1{(x_i-x_j)^2} c=(xxj)2+2(xxi)(xxj)1 x=xi=(xixj)21
    将基函数代入式(1)得到插值多项式。

[!example]-
f ( x ) = x 4 + 2 x 3 + 5 {f(x)=x^4+2x^3+5} f(x)=x4+2x3+5 。对节点 x 0 = − 3 {x_0=-3} x0=3 x 1 = − 1 {x_1=-1} x1=1 ,求在区间 [ − 3 , − 1 ] {[-3,-1]} [3,1] 上的三次Hermite插值多项式及其余项。
解:由题可得
y 0 = 32    ,    y 1 = 4    ,    y 0 ′ = − 54    ,    y 1 ′ = 2 y_0=32 \,\,,\,\, y_1=4 \,\,,\,\, y_0'=-54 \,\,,\,\, y_1'=2 y0=32,y1=4,y0=54,y1=2
所以插值函数
H 3 ( x ) = 32 ϕ 0 ( x ) + 4 ϕ 1 ( x ) − 54 ψ 0 ( x ) + 2 ψ 1 ( x ) H_3(x)=32\phi_0(x)+4\phi_1(x)-54\psi_0(x)+2\psi_1(x) H3(x)=32ϕ0(x)+4ϕ1(x)54ψ0(x)+2ψ1(x)
接下来求基函数
a = − 2 / ( − 3 + 1 ) 3 = 1 / 4 b = ( − 3 ⋅ 3 + 1 ) / ( − 3 + 1 ) 3 = 1 } → ϕ 0 ( x ) = ( x + 1 ) 2 ( 1 4 x + 1 ) \begin{rcases} a=-2/(-3+1)^3=1/4 \\ \\ b=(-3\cdot3+1)/(-3+1)^3=1 \end{rcases}\to\phi_0(x)=(x+1)^2( \frac{1}{4}x+1) a=2/(3+1)3=1/4b=(33+1)/(3+1)3=1 ϕ0(x)=(x+1)2(41x+1)
a = − 2 / ( − 1 + 3 ) 3 = − 1 / 4 b = ( 3 ⋅ ( − 1 ) + 3 ) / ( − 1 + 3 ) 3 = 0 } → ϕ 1 ( x ) = − 1 4 x ( x + 3 ) 2 \begin{rcases} a=-2/(-1+3)^3=-1/4 \\ \\ b=(3 \cdot (-1)+3)/(-1+3)^3=0 \end{rcases}\to\phi_1(x)=-\frac{1}{4}x(x+3)^2 a=2/(1+3)3=1/4b=(3(1)+3)/(1+3)3=0 ϕ1(x)=41x(x+3)2
c = 1 ( − 3 + 1 ) 2 = 1 4 → ψ 0 ( x ) = 1 4 ( x + 3 ) ( x + 1 ) 2 c=\frac 1{(-3+1)^2}=\frac 1 4\to\psi_0(x)= \frac{1}{4}(x+3)(x+1)^2 c=(3+1)21=41ψ0(x)=41(x+3)(x+1)2
c = 1 ( − 1 + 3 ) 2 = 1 4 → ψ 1 ( x ) = 1 4 ( x + 1 ) ( x + 3 ) 2 c=\frac 1{(-1+3)^2}=\frac 1 4\to\psi_1(x)= \frac{1}{4}(x+1)(x+3)^2 c=(1+3)21=41ψ1(x)=41(x+1)(x+3)2
代入插值多项式得
H 3 ( x ) = − 6 x 3 − 22 x 2 − 24 x − 4 H_3(x)=-6x^3-22x^2-24x-4 H3(x)=6x322x224x4
由插值余项定理
∣ R 3 ( x ) ∣ = ∣ f ( x ) − H 3 ( x ) ∣ = ∣ f ( 4 ) ( ξ ) 4 ! ( x + 3 ) 2 ( x + 1 ) 2 ∣ = ∣ 4 ! 4 ! ( x + 3 ) 2 ( x + 1 ) 2 ∣ \begin{align*} |R_3(x)|=&|f(x)-H_3(x)|=| \frac{f^{(4)}(\xi)}{4!}(x+3)^2(x+1)^2 | \\ \\ =&| \frac{4!}{4!}(x+3)^2(x+1)^2 | \end{align*} R3(x)==f(x)H3(x)=4!f(4)(ξ)(x+3)2(x+1)24!4!(x+3)2(x+1)2

说明:

  • 余项仿照拉格朗日余项, x 0 {x_0} x0 点用了两次,所以平方, x 1 {x_1} x1 点同理
  • 类型 1 {1} 1 中系数 c {c} c 是相同的
4.3 三点三次Hermite插值

确定三次插值多项式 H 3 ( x ) {H_3(x)} H3(x) 使满足:
H 3 ( x 0 ) = f ( x 0 ) = y 0    ,    H 3 ( x 1 ) = f ( x 1 ) = y 1    ,    H 3 ( x 2 ) = f ( x 2 ) = y 2 H 3 ′ ( x 0 ) = f ′ ( x 0 ) = y 0 ′ \begin{align*} H_3(x_0)=f(x_0)=y_0 \,\,,\,\, H_3(x_1)=&f(x_1)=y_1\,\,,\,\, H_3(x_2)=f(x_2)=y_2 \\ \\ H_3'(x_0)=&f'(x_0)=y_0' \end{align*} H3(x0)=f(x0)=y0,H3(x1)=H3(x0)=f(x1)=y1,H3(x2)=f(x2)=y2f(x0)=y0
方法:基函数法,基函数为三次多项式。
步骤:

  1. H 3 ( x ) {H_3(x)} H3(x) H 3 ′ ( x ) {H_3'(x)} H3(x) 的表达式
    H 3 ( X ) = ϕ 0 ( x ) y 0 + ϕ 1 ( x ) y 1 + ϕ 2 ( x ) y 2 + ψ 0 ( x ) y 0 ′ (1) H_3(X)= \phi_0(x)y_0+\phi_1(x)y_1+\phi_2(x)y_2+\psi_0(x)y_0' \tag{1} H3(X)=ϕ0(x)y0+ϕ1(x)y1+ϕ2(x)y2+ψ0(x)y0(1)
    H 3 ′ ( X ) = ϕ 0 ′ ( x ) y 0 + ϕ 1 ′ ( x ) y 1 + ϕ 2 ′ ( x ) y 2 + ψ 0 ′ ( x ) y 0 ′ (2) H_3'(X)= \phi_0'(x)y_0+\phi_1'(x)y_1+\phi_2'(x)y_2+\psi_0'(x)y_0' \tag{2} H3(X)=ϕ0(x)y0+ϕ1(x)y1+ϕ2(x)y2+ψ0(x)y0(2)
  2. 根据表达式列表
    将 x 0 代入 ( 1 ) 将 x 1 代入 ( 1 ) 将 x 2 代入 ( 1 ) 将 x 0 代入 ( 2 ) ϕ 0 ( x 0 ) = 1 ϕ 0 ( x 1 ) = 0 ϕ 0 ( x 2 ) = 0 ϕ 0 ′ ( x 0 ) = 0 ϕ 1 ( x 0 ) = 0 ϕ 1 ( x 1 ) = 1 ϕ 1 ( x 2 ) = 0 ϕ 1 ′ ( x 0 ) = 0 ϕ 2 ( x 0 ) = 0 ϕ 2 ( x 1 ) = 0 ϕ 2 ( x 2 ) = 1 ϕ 2 ′ ( x 0 ) = 0 ψ 0 ( x 0 ) = 0 ψ 0 ( x 1 ) = 0 ψ 0 ( x 2 ) = 0 ψ 0 ′ ( x 0 ) = 1 \begin{array}{cccccc} 将 x_0 代入(1) & 将 x_1 代入(1) & 将 x_2 代入(1) & 将 x_0 代入(2) \\ \\ \phi_0(x_0)=1 & \phi_0(x_1)=0 & \phi_0(x_2)=0 & \phi_0'(x_0)=0 \\ \\ \phi_1(x_0)=0 & \phi_1(x_1)=1 & \phi_1(x_2)=0 & \phi_1'(x_0)=0 \\ \\ \phi_2(x_0)=0 & \phi_2(x_1)=0 & \phi_2(x_2)=1 & \phi_2'(x_0)=0 \\ \\ \psi_0(x_0)=0 & \psi_0(x_1)=0 & \psi_0(x_2)=0 & \psi_0'(x_0)=1 \\ \\ \end{array} x0代入(1)ϕ0(x0)=1ϕ1(x0)=0ϕ2(x0)=0ψ0(x0)=0x1代入(1)ϕ0(x1)=0ϕ1(x1)=1ϕ2(x1)=0ψ0(x1)=0x2代入(1)ϕ0(x2)=0ϕ1(x2)=0ϕ2(x2)=1ψ0(x2)=0x0代入(2)ϕ0(x0)=0ϕ1(x0)=0ϕ2(x0)=0ψ0(x0)=1
  3. 求基函数
    ϕ 0 {\phi_0} ϕ0 来说,有两个一重零点 x 1    ,    x 2 {x_1} \,\,,\,\, x_2 x1,x2 ,再设一个零点,有
    ϕ 0 ( x ) = ( x − x 1 ) ( x − x 2 ) ( a x + b )    ,    ( 代入   ϕ 0 ( x 0 ) = 1 , ϕ 0 ′ ( x 0 ) = 0   求   a , b ) \phi_0(x)=(x-x_1)(x-x_2)(ax+b) \,\,,\,\, (代入\, \phi_0(x_0)=1,\phi_0'(x_0)=0\,求\,a,b) ϕ0(x)=(xx1)(xx2)(ax+b),(代入ϕ0(x0)=1,ϕ0(x0)=0a,b)
    ϕ 1 {\phi_1} ϕ1 来说,有两个一重零点 x 0    ,    x 2 {x_0} \,\,,\,\, x_2 x0,x2 ,再设一个零点,有
    ϕ 1 ( x ) = ( x − x 0 ) ( x − x 2 ) ( a x + b )    ,    ( 代入   ϕ 1 ( x 1 ) = 1 , ϕ 1 ′ ( x 1 ) = 0   求   a , b ) \phi_1(x)=(x-x_0)(x-x_2)(ax+b) \,\,,\,\, (代入\, \phi_1(x_1)=1,\phi_1'(x_1)=0\,求\,a,b) ϕ1(x)=(xx0)(xx2)(ax+b),(代入ϕ1(x1)=1,ϕ1(x1)=0a,b)
    ϕ 2 {\phi_2} ϕ2 来说,有两个一重零点 x 0    ,    x 1 {x_0} \,\,,\,\, x_1 x0,x1 ,再设一个零点,有
    ϕ 2 ( x ) = ( x − x 0 ) ( x − x 1 ) ( a x + b )    ,    ( 代入   ϕ 2 ( x 2 ) = 1 , ϕ 2 ′ ( x 2 ) = 0   求   a , b ) \phi_2(x)=(x-x_0)(x-x_1)(ax+b) \,\,,\,\, (代入\, \phi_2(x_2)=1,\phi_2'(x_2)=0\,求\,a,b) ϕ2(x)=(xx0)(xx1)(ax+b),(代入ϕ2(x2)=1,ϕ2(x2)=0a,b)
    ψ 0 {\psi_0} ψ0 来说,有三个一重零点 x 0    ,    x 1    ,    x 2 {x_0} \,\,,\,\, x_1\,\,,\,\, x_2 x0,x1,x2 ,有
    ψ 0 = c ( x − x 0 ) ( x − x 1 ) ( x − x 2 )    ,    ( 代入   ψ 0 ′ ( x 0 ) = 1   求出   c ) \psi_0=c(x-x_0)(x-x_1)(x-x_2)\,\,,\,\, (代入 \, \psi_0'(x_0)=1\,求出\,c) ψ0=c(xx0)(xx1)(xx2),(代入ψ0(x0)=1求出c)
    还需要知道基函数的导数形式以方便求解,若
    ϕ ( x ) = ( x − x i ) ( x − x j ) ( a x + b ) = 1 \phi(x)=(x-x_i)(x-x_j)(ax+b)=1 ϕ(x)=(xxi)(xxj)(ax+b)=1
    ϕ ′ ( x ) = ( x − x i ) ( a x + b ) + ( x − x j ) ( a x + b ) + a ( x − x i ) ( x − x j ) = 0 \phi'(x)=(x - x_i)(ax+b) + (x - x_j)( ax+b) + a(x - x_i)(x - x_j)=0 ϕ(x)=(xxi)(ax+b)+(xxj)(ax+b)+a(xxi)(xxj)=0
    解得
    a = 2 x − x i − x j ( x − x i ) 2 ( x − x j ) 2 b = 3 x 2 − 2 x ( x i + x j ) + x i x j ( x − x i ) 2 ( x − x j ) 2 \begin{align*} a= &\frac{2x-x_i-x_j}{(x-x_i)^2(x-x_j)^2} \\ \\ b = & \frac{3x^2-2x(x_i+x_j)+x_ix_j}{(x-x_i)^2(x-x_j)^2} \end{align*} a=b=(xxi)2(xxj)22xxixj(xxi)2(xxj)23x22x(xi+xj)+xixj

    ψ ( x ) = c ( x − x i ) ( x − x j ) ( x − x k ) \psi(x)=c(x-x_i)(x-x_j)(x-x_k) ψ(x)=c(xxi)(xxj)(xxk)
    ψ ′ ( x ) = [ c ( x − x i ) ( x − x j ) + c ( x − x i ) ( x − x k ) + c ( x − x j ) ( x − x k ) ] ∣ x = x i = c ( x i − x j ) ( x i − x k ) = 1 \begin{align*} \psi'(x)=&[c(x - x_i)(x - x_j) + c(x - x_i)(x - x_k) + c(x - x_j)(x - x_k)]\big|_{x=x_i} \\ \\ =&c(x_i-x_j)(x_i-x_k)=1 \end{align*} ψ(x)==[c(xxi)(xxj)+c(xxi)(xxk)+c(xxj)(xxk)] x=xic(xixj)(xixk)=1
    c = 1 ( x i − x j ) ( x i − x k ) c= \frac{1}{(x_i-x_j)(x_i-x_k)} c=(xixj)(xixk)1

[!example]-
已知
f ( 1 ) = 5    ,    f ( 2 ) = 21    ,    f ( 3 ) = 53    ,    f ′ ( 1 ) = 10 f(1)=5 \,\,,\,\, f(2)=21 \,\,,\,\, f(3)=53 \,\,,\,\, f'(1)=10 f(1)=5,f(2)=21,f(3)=53,f(1)=10
求三次Hermite插值多项式
解:设插值函数
H 3 ( x ) = 5 ⋅ ϕ 0 ( x ) + 21 ⋅ ϕ 1 ( x ) + 53 ⋅ ϕ 2 ( x ) + 10 ⋅ ψ 0 ( x ) H_3(x)=5 \cdot \phi_0(x)+21 \cdot \phi_1(x) +53 \cdot \phi_2(x)+10 \cdot \psi_0(x) H3(x)=5ϕ0(x)+21ϕ1(x)+53ϕ2(x)+10ψ0(x)
求基函数
a = − 3 / 4 b = − 1 / 4 } → ϕ 0 ( x ) = ( x − 2 ) ( x − 3 ) ( − 3 4 x − 1 4 ) \begin{rcases} a=-3/4 \\ \\ b=-1/4 \end{rcases}\to\phi_0(x)=(x-2)(x-3)(- \frac{3}{4}x- \frac{1}{4}) a=3/4b=1/4 ϕ0(x)=(x2)(x3)(43x41)
a = 0 b = 12 } → ϕ 1 ( x ) = 12 ( x − 1 ) ( x − 3 ) \begin{rcases} a=0 \\ \\ b=12 \end{rcases}\to\phi_1(x)=12(x-1)(x-3) a=0b=12 ϕ1(x)=12(x1)(x3)
a = 3 / 4 b = 65 / 4 } → ϕ 2 ( x ) = ( x − 2 ) ( x − 3 ) ( 3 4 x + 65 4 ) \begin{rcases} a=3/4 \\ \\ b=65/4 \end{rcases}\to\phi_2(x)=(x-2)(x-3)(\frac{3}{4}x+\frac{65}{4}) a=3/4b=65/4 ϕ2(x)=(x2)(x3)(43x+465)
c = 1 ( 1 − 2 ) ( 1 − 3 ) = 1 2 → ψ 0 ( x ) = 1 2 ( x − 1 ) ( x − 2 ) ( x − 3 ) c= \frac{1}{(1-2)(1-3)}=\frac{1}{2}\to\psi_0(x)= \frac{1}{2}(x-1)(x-2)(x-3) c=(12)(13)1=21ψ0(x)=21(x1)(x2)(x3)
所以
H 3 ( x ) = 41 x 3 + 902 x 2 − 5037 x + 5886 H_3(x)=41x^3 + 902x^2 - 5037x + 5886 H3(x)=41x3+902x25037x+5886

4.4 n+1个点2n+1次Hermite插值多项式

就是所有节点的函数值和导数值都用上了
H 2 n + 1 ( x ) = ∑ k = 0 n ( 1 − 2 l k ′ ( x k ) ( x − x k ) ) l k 2 ( x ) f k + ∑ k = 0 n ( x − x k ) l k 2 ( x ) f k ′ H_{2n+1}(x)= \sum_{k=0}^{ n}(1-2l_k'(x_k)(x-x_k))l_k^2(x)f_k+ \sum_{k=0}^{ n}(x-x_k)l_k^2(x)f_k' H2n+1(x)=k=0n(12lk(xk)(xxk))lk2(x)fk+k=0n(xxk)lk2(x)fk
余项公式
R 2 n + 1 ( x ) = f ( x ) − H 2 n + 1 ( x ) = f ( 2 n + 2 ) ( ξ ) ( 2 n + 2 ) ! ( ∏ ( x ) ) 2    ,    ∏ ( x ) = ∏ j = 0 n ( x − x j ) R_{2n+1}(x)=f(x)-H_{2n+1}(x)= \frac{f^{(2n+2)}(\xi)}{(2n+2)!}(\prod_{}^{ }(x))^2 \,\,,\,\, \prod_{}^{ }(x)= \prod_{j=0}^{ n}(x-x_j) R2n+1(x)=f(x)H2n+1(x)=(2n+2)!f(2n+2)(ξ)((x))2,(x)=j=0n(xxj)
如果给定定义域,则右边积分可以得到一个 2 n + 1 {2n+1} 2n+1 次的数值积分公式。
积分中值定理可得出积分误差
R [ f ] = f ( 2 n + 2 ) ( η ) ( 2 n + 2 ) ! ∫ a b ( ∏ ( x ) ) 2 d x R[f]= \frac{f^{(2n+2)}(\eta)}{(2n+2)!} \int_{ a }^{b} (\prod_{}^{ }(x))^2 \mathrm dx R[f]=(2n+2)!f(2n+2)(η)ab((x))2dx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/292166.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode的AC指南 —— 字符串/卡码网:55. 右旋字符串

摘要: Leetcode的AC指南 —— 字符串/卡码网:55. 右旋字符串。题目介绍:字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字…

grep笔记240103

常用选项:: -i:忽略大小写进行匹配。 -v:反向匹配,只打印不匹配的行。 -n:显示匹配行的行号。 -r:递归查找子目录中的文件。 -l:只打印匹配的文件名。 -c:只打印匹配的行…

整理的6个Linux运维脚本

整理的6个Linux运维脚本 1、统计/etc/passwd 中能登录的用户,并将对应在/etc/shadow 中第二列密码提取2、查看当前连接到本机的远程IP地址3、检测本机当前用户是否为超级管理员(root)4、检查指定目录下是否存在对应文件5、查找 Linux 系统中的…

QT_02 窗口属性、信号槽机制

QT - 窗口属性、信号槽机制 1. 设置窗口属性 窗口设置 1,标题 2,大小 3,固定大小 4,设置图标在 widget.cpp 文件中: //设置窗口大小,此时窗口是可以拉大拉小的 //1参:宽度 //2参:高度 this->resize(800, 600); //设置窗口标题 this->setWindowTitle("…

使用 Palantir 表征单细胞数据中的细胞状态概率

使用 Palantir 表征单细胞数据中的细胞状态概率 写在前面的概览正文内容摘要Introduction结果马尔可夫过程The Palantir algorithm早期人类造血的景观Palantir 概括了预期的造血趋势与轨迹推理算法的比较 讨论 学习文献 写在前面的概览 Palantir算法主要用于模拟细胞分化的轨迹…

Redis缓存穿透,缓存击穿,缓存雪崩

文章目录 Redis缓存穿透,缓存击穿,缓存雪崩1. 缓存穿透1.1 解决方案1:缓存空数据1.2 解决方案2:使用布隆过滤器1.2.1 布隆过滤器介绍 2. 缓存击穿2.1 解决方案1:互斥锁2.2 解决方案2:逻辑过期 3. 缓存雪崩3…

交易逆序对的总数

题目链接 交易逆序对的总数 题目描述 注意点 0 < record.length < 50000 解答思路 本题是归并排序的扩展&#xff0c;可以先进入手撕归并排序了解利用归并排序进行合并时&#xff0c;对于左侧区间当前的首个元素leftNum&#xff0c;不论右侧区间当前的首个元素right…

【智慧地球】星图地球 | 星图地球超算数据工场

当前空天信息处理涉及并发并行的大量计算问题&#xff0c;需要高性能计算、智能计算联合调度&#xff0c;以此来实现多算力融合&#xff1b;而我国算力产业规模快速增长&#xff0c;超算算力资源正需要以任务驱动来统筹。 基于此&#xff0c;中科星图与郑州中心展开紧密合作&a…

使用 Process Explorer 和 Windbg 排查软件线程堵塞案例分享

目录 1、问题说明 2、线程堵塞的可能原因分析 3、使用Windbg和Process Explorer确定线程中发生了死循环 4、根据Windbg中显示的函数调用堆栈去查看源码&#xff0c;找到问题 4.1、在Windbg定位发生死循环的函数的方法 4.2、在Windbg中查看变量的值去辅助分析 4.3、是循环…

抖店申请流程是什么?

我是电商珠珠 想要入驻抖店的人很多&#xff0c;但是知道流程的新手却没有几个。 从开店资料到入驻流程&#xff0c;我来具体的跟大家讲一讲。 第一个&#xff0c;新手开店资质 1、营业执照 营业执照是入驻门槛之一&#xff0c;营业执照类型分为两类&#xff0c;一类为企业…

快速批量运行命令

Ansible 是 redhat 提供的自动化运维工具&#xff0c;它是 Python编写&#xff0c;可以通过 pip 安装。 pip install ansible 它通过任务(task)、角色(role)、剧本(playbook) 组织工作项目&#xff0c;适用于批量化系统配置、软件部署等需要复杂操作的工作。 但对于批量运行命…

进程的程序替换(exec函数)【Linux】

进程的程序替换详解exec函数【Linux】 程序替换的原理exec系列函数函数理解命令理解&#xff08;助记&#xff09; 关于程序替换中环境变量的解释exec函数之间的关系exec函数的使用execlexeclpexecleexecv 程序替换的原理 进程的程序替换就是让子进程执行新程序&#xff0c; 执…

使用华为云鲲鹏弹性云服务器部署Discuz

本实验将在华为云鲲鹏弹性云服务器CentOS系统的实例上&#xff0c;部署Discuz!项目&#xff0c;并进行初步的安装测试。 注意&#xff1a;官网文档有些链接失效&#xff0c;本文在官方文档的基础上作出修改&#xff0c;具体参见Discuz安装这一步 操作前提&#xff1a;登录华为…

Android : 使用GestureDetector 进行手势识别—简单应用

示例图&#xff1a; GestureDetector 介绍&#xff1a; GestureDetector 是 Android 开发中用于识别和处理手势的一个类。它允许开发者检测用户在触摸屏上的各种手势&#xff0c;如滑动、长按、双击等。通过使用 GestureDetector&#xff0c;您可以轻松地为应用程序添加手势识…

FPGA设计时序约束十五、Set_Bus_Skew

目录 一、序言 二、Set Bus Skew 2.1 基本概念 2.2 设置界面 2.3 命令语法 2.4 报告分析 三、工程示例 3.1 工程代码 3.2 时序报告 四、参考资料 一、序言 在时序约束中&#xff0c;对时钟的约束除了set clock latency,set clock uncertainty,set input jitter外&…

蜥蜴目标检测数据集VOC格式1400张

蜥蜴&#xff0c;一种爬行动物&#xff0c;以其独特的形态和习性&#xff0c;成为了人们关注的焦点。 蜥蜴的外观多样&#xff0c;体型大小不一。它们通常拥有长条的身体、四肢和尾巴&#xff0c;鳞片覆盖全身&#xff0c;这使得它们能够在各种环境中轻松移动。大多数蜥蜴拥有…

在Ubuntu22.04上部署Stable Diffusion

在AI绘画软件领域Stable-Diffusion&#xff08;简称SD&#xff09;在开源领域绝对是不二之选&#xff0c;他的插件方式可以让此软件具有更多的功能&#xff0c;开发者社群为此提供了大量免费高质量的外接预训练模型&#xff08;fine-tune&#xff09;和插件&#xff0c;并持续维…

力扣-42.接雨水

题目&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组[0,1,0,2…

day06、SQL语言之概述

SQl 语言之概述 6.1 SQL语言概述6.2 SQL语言之DDL定义数据库6.3 SQL语言之DML操纵数据库 6.1 SQL语言概述 6.2 SQL语言之DDL定义数据库 6.3 SQL语言之DML操纵数据库

mysql死锁排查

查看正在进行中的事务 SELECT * FROM information_schema.INNODB_TRX;字段解释trx_id唯一事务id号&#xff0c;只读事务和非锁事务是不会创建id的trx_state事务的执行状态&#xff0c;值一般分为&#xff1a;RUNNING, LOCK WAIT, ROLLING BACK, and COMMITTING.trx_started事务…