Hermite(埃尔米特)插值法 |
您所在的位置:网站首页 › 赫尔规则 › Hermite(埃尔米特)插值法 |
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 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |