当前位置:文档之家› Hermite 插值

Hermite 插值


n
= ∑ y j + ( x − x j )(y 'j − 2 y j l 'j ( x j ))l 2 ( x ) ( j
j =0
n
x − xi 其中l j ( x) = ∏ 为Lagrange插值基函数。 i = 0,i ≠ j x j − xi
n
定理:给定互异的节点x0 , x1 ,..., xn,给定函数值 f ( xi ) = yi , f '( xi ) = yi ', i = 0,1,..., n, 则存在唯一的Hermite插值多项式H 2 n +1 ( x) ⎧ H 2 n +1 ( xi ) = yi = f ( xi ), ⎪ 满足 ⎨ ' H 2 n +1 ( xi ) = yi ' = f ' ( xi ) ⎪ ⎩ (i = 0,1, 2,...n)
H 2 n +1 ( x)称为Hermite插值多项式。
Hermite插值多项式的求法— Lagrange方法
由插值条件 ⎧ H 2 n +1 ( xi ) = yi = f ( xi ), ⎪ ⎨ ' H 2 n +1 ( xi ) = yi ' = f ' ( xi ) ⎪ ⎩
n
(i = 0,1, 2,...n)
x−0 x−
π
6 ]2
H 3 ( x) = [[1 + 2
π
] × 0 + ( x − 0) × 1][
π
6 6 π x− 6 ] × 1 + ( x − π ) × 3 ][ x − 0 ]2 +[[1 − 2 π π 2 6 2 6 6
3 6 3 π 36 2 = x ( x − 1) + [( − x ) + ( x − )] 2 x π 2 π 2 6 π 6
Hermite插值问题的提法
给定节点x0 , x1 ,..., xn , 给定函数f ( x)
n 在节点处{xi }0 的函数值y0 , y1 ,..., yn ,
以及相应的一阶导数值y0 ', y1 ',..., yn ',
求多项式H 2 n +1 ( x), 使得
⎧ H 2 n +1 ( xi ) = yi = f ( xi ), ⎪ ⎨ ' H 2 n +1 ( xi ) = yi ' = f ' ( xi ) ⎪ ⎩ (i = 0,1, 2,...n)
函数逼近的插值法 ——Hermite插值多项式
主讲 孟纯军
Hermite 插值多项式
Lagrange插值公式所求得L(x)保证了节点处的 函数值相等,也就是保证了函数的连续性。 但不少实际问题还需要插值得光滑度,也就是 还要求它在节点处的导数值也相等,导数的阶 数越高则光滑度越高。 现代的仿生学就是一个典型的例子。在设计交 通具的外形,就是参照海豚的标本上已知点及 已知点的导数,做插值在计算机上模拟海豚的 外形制成飞机、汽车等外形。
β j ( x) = C ( x − x j )
( x − x0 ) 2 ( x − x1 ) 2 ...( x − x j −1 ) 2 ( x − x j +1 ) 2 ...( x − xn ) 2 ( x j − x0 ) 2 ( x j − x1 ) 2 ...( x j − x j −1 ) 2 ( x j − x j +1 ) 2 ...( x j − xn ) 2
0 = α j ( x0 ) = α j ( x1 ) = ... = α j ( x j −1 )
' ' '
= α j ( x j +1 ) = ... = α j ( xn )
' '
而α j ( x j ) = 1, α j ( x j ) = 0
'
则x0 , x1 ,...x j −1 , x j +1 ,..., xn是α j ( x)的二重零点。
= C ( x − x j )l 2 ( x) j
由于β j ( x)是2n + 1次多项式,故C为常数。
β j '( x j ) = Cl 2 ( x) + 2C ( x − x j )l j ( x)l j '( x) |x = C = 1 j
j
所以 β j ( x) = ( x − x j )l ( x)
如何实现
l 'j ( x j )?
1 例如:l0 ( x) = ( x − x1 )( x − x2 )...( x − xn ) A 其中 A = ( x0 − x1 )( x0 − x2 )...( x0 − xn ), 则
1 l 0 ( x) = (( x − x2 )( x − x3 )...( x − xn ) + A ( x − x1 )( x − x3 )...( x − xn ) + ...
'
j =i j≠i
i = 0,1, 2,...n
(3)β j ( xi ) = 0
⎧1 (4)β j ( xi ) = ⎨ ⎩0
'
i = 0,1, 2,...n
j =i j≠i
α j ( x)为次数不超过2n + 1的多项式,考虑它的零点 :
0 = α j ( x0 ) = α j ( x1 ) = ... = α j ( x j −1 ) = α j ( x j +1 ) = ... = α j ( xn )
例设 f ( x ) = sin x , 试用 f (0) = 0 ,
1, ' π 3 确定二点三次 , f '( ) = f (0) = 1 f( )= 6 2 6 2
Hermite 插值多项式 H 3 ( x ) 并计算 H 3 (
π
π
12
) 的值。
解: 由二点三次 Hermite 插值公式得:
' '
x − xj hj )2
)2
) y j + ( x − x j ) y j )(
x − x j −1 hj
R3 ( x) = f ( x) − H 3 ( x) 1 (4) 2 2 = f (ξ )( x − x j −1 ) ( x − x j ) 4! 其中,h j = ( x j − x j −1 ), ξ ∈ ( x j −1 , x j )
2
所以有
1 3 H 3( ) = π = 0 .2 5 8 7 6 8 6 1 6 + − 12 48 4 96
π
π
与真值 sin
π
12
= 0.258819045 相比已有三位有小数字。
x=[0,pi/6];y=sin(x);z=cos(x);u=pi/12; d=hermitchazhi(x,y,z,u) d= 0.25876861681747 e=abs(sin(u)-d) e= 5.042828505269492e-005
Hermit插值问题的一般提法
若给定插值多项式在节点xi处的j阶导数值p( j −1) ( xi ) ,
则在节点xi处的j − 2, j − 3,L,1阶导数值 p( j -1) ( xi ), p( j - 2) ( xi ),..., p '( xi ) 都给定,
此节点的函数值p( xi )也给定。
故得:
α j ( x) = (−2l ( x j ) x + 1 + 2 x l ( x j ))l ( x )
' j ' j j 2 j
= (1 + 2( x j − x)l ( x j ))l ( x )
' j 2 j
β j ( x)也为次数不超过2n + 1的多项式,它的零点 :
0 = β j ( x0 ) = β j ( x1 ) = ... = β j ( x j −1 ) = β j xn )
α j ( x) = C ( x)
= C ( x)l 2 ( x) j
由于α j ( x)是2n + 1次多项式,故C ( x)为一次多是项式。
令 C ( x) = Ax + B 即 α j ( x) = ( Ax + B)l 2 ( x) j
⎧ A = −2l 'j ( x j ) ⎪ ⎧ Ax j + B = 1 ⇒⎨ ⎨ ' B = 1 + 2 x j l 'j ( x j ) ⎪ ⎩ ⎩ A + 2( Ax j + B)l j ( x j ) = 0
则 : H 3 ( x) = α j −1 ( x) y j −1 + α j ( x) y j + β j −1 ( x) y 'j−1 + β j ( x) y 'j
= ((1 + 2 +((1 − 2
x − x j −1 hj x − xj hj
) y j −1 + ( x − x j −1 ) y j−1 )(
也就是说,在节点xi处满足j个插值条件。
0 多项式在节点 xi 满足ki插个值条件: ( j ) ( x ) = c (0 ≤ j ≤ k −1,0 ≤ i ≤ n) P i ij i
1 R( x) = f ( x) − H 2 n+1 ( x) = f (2 n+2) (ξ )ω 2 ( x) (2n + 2)!
其中, ξ ∈ (a, b),ω ( x) = ( x − x0 )( x − x1 ) ⋅⋅⋅ ( x − xn )
三次Hermite插值多项式(n=1)
相关主题