Hermite 插值
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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)
插值多项式H 3 ( x)满足条件: H 3 ( x j −1 ) = f ( x j −1 ) = y j −1 , H 3' ( x j −1 ) = f '( x j −1 ) = y 'j−1 , h j = x j − x j −1 H3 (x j ) = f ( x j ) = y j H 3' ( x j ) = f '( x j ) = y 'j
1 1 1 = + + ... + ( x0 − x1 ) ( x0 − x2 ) ( x0 − xn )
1 =∑ i =1 ( x0 − x j )
n
类似地, 1 1 1 l (x j ) = + + ... + + ( x j − x0 ) ( x j − x1 ) ( x j − x j −1 )
则 : 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 )(
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
'
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 )
'
+ ( x − x1 )( x − x2 )...( x − xn −1 ))
所以有 1 l ( x0 ) = (( x0 − x2 )( x0 − x3 )...( x0 − xn ) + A ( x0 − x1 )( x0 − x3 )...( x0 − xn ) +
' 0
+ ... + ( x0 − x1 )( x0 − x2 )...( x0 − xn −1 ))
= 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)
2 j
H 2 n +1 ( x) = ∑ α j ( x) y j + ∑ β j ( x) y 'j
j =0
n
n
n
j =0
= ∑ 1 + 2( x j − x)l 'j ( x j ))l 2 ( x ) y j + ∑ ( x − x j )l 2 ( x) y 'j ( j j
j =0 j =0
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)
也就是说,在节点xi处满足j个插值条件。
0 多项式在节点 xi 满足ki插个值条件: ( j ) ( x ) = c (0 ≤ j ≤ k −1,0 ≤ i ≤ n) P i ij i
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)的二重零点。
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 )也给定。
如何实现
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 ) + ...
0 = β j ( x0 ) = β j ( x1 ) = ... = β j ( x j −1 )
' ' '
= β j ( x j +1 ) = ... = β j ( xn )
' '
而β j ( x j ) = 0, β j ( x j ) = 1
'
则x0 , x1 ,...x j −1 , x j +1 ,..., xn是β j ( x)的二重零点, x j 是单重零点。
故得:
α 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的多项式,它的零点 :
Βιβλιοθήκη Baidu
0 = β j ( x0 ) = β j ( x1 ) = ... = β j ( x j −1 ) = β j ( x j +1 ) = ... = β j ( xn )
所以,令 ( 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
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
' j n 1 1 1 + ... + =∑ ( x j − x j +1 ) ( x j − xn ) i =1 ( x j − xi ) i≠ j
Hermite插值余项
定理:设函数 f ( x) = C (2 n+1) [a, b] ,且 f(x)在(a,b)内 存在 2n+2 次导数,则满足式插值条件的 H 2 n+1 ( x) 的余式 有如下估计
' '
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 )
n
设H 2 n +1 ( x) = ∑ α j ( x) y j + ∑ β j ( x) y 'j
j =0 j =0
其中,α j ( x),β j ( x)为2n + 2个基函数。
由Lagrange插值基函数,设想
⎧1 1 ( )α j ( xi ) = ⎨ ⎩0
(2)α j ( xi ) = 0
α 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
函数逼近的插值法 ——Hermite插值多项式
主讲 孟纯军
Hermite 插值多项式
Lagrange插值公式所求得L(x)保证了节点处的 函数值相等,也就是保证了函数的连续性。 但不少实际问题还需要插值得光滑度,也就是 还要求它在节点处的导数值也相等,导数的阶 数越高则光滑度越高。 现代的仿生学就是一个典型的例子。在设计交 通具的外形,就是参照海豚的标本上已知点及 已知点的导数,做插值在计算机上模拟海豚的 外形制成飞机、汽车等外形。
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)
β 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
例设 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 插值公式得:
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)
其中, ξ ∈ (a, b),ω ( x) = ( x − x0 )( x − x1 ) ⋅⋅⋅ ( x − xn )
三次Hermite插值多项式(n=1)
插值多项式H 3 ( x)满足条件: H 3 ( x j −1 ) = f ( x j −1 ) = y j −1 , H 3' ( x j −1 ) = f '( x j −1 ) = y 'j−1 , h j = x j − x j −1 H3 (x j ) = f ( x j ) = y j H 3' ( x j ) = f '( x j ) = y 'j
1 1 1 = + + ... + ( x0 − x1 ) ( x0 − x2 ) ( x0 − xn )
1 =∑ i =1 ( x0 − x j )
n
类似地, 1 1 1 l (x j ) = + + ... + + ( x j − x0 ) ( x j − x1 ) ( x j − x j −1 )
则 : 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 )(
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
'
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 )
'
+ ( x − x1 )( x − x2 )...( x − xn −1 ))
所以有 1 l ( x0 ) = (( x0 − x2 )( x0 − x3 )...( x0 − xn ) + A ( x0 − x1 )( x0 − x3 )...( x0 − xn ) +
' 0
+ ... + ( x0 − x1 )( x0 − x2 )...( x0 − xn −1 ))
= 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)
2 j
H 2 n +1 ( x) = ∑ α j ( x) y j + ∑ β j ( x) y 'j
j =0
n
n
n
j =0
= ∑ 1 + 2( x j − x)l 'j ( x j ))l 2 ( x ) y j + ∑ ( x − x j )l 2 ( x) y 'j ( j j
j =0 j =0
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)
也就是说,在节点xi处满足j个插值条件。
0 多项式在节点 xi 满足ki插个值条件: ( j ) ( x ) = c (0 ≤ j ≤ k −1,0 ≤ i ≤ n) P i ij i
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)的二重零点。
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 )也给定。
如何实现
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 ) + ...
0 = β j ( x0 ) = β j ( x1 ) = ... = β j ( x j −1 )
' ' '
= β j ( x j +1 ) = ... = β j ( xn )
' '
而β j ( x j ) = 0, β j ( x j ) = 1
'
则x0 , x1 ,...x j −1 , x j +1 ,..., xn是β j ( x)的二重零点, x j 是单重零点。
故得:
α 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的多项式,它的零点 :
Βιβλιοθήκη Baidu
0 = β j ( x0 ) = β j ( x1 ) = ... = β j ( x j −1 ) = β j ( x j +1 ) = ... = β j ( xn )
所以,令 ( 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
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
' j n 1 1 1 + ... + =∑ ( x j − x j +1 ) ( x j − xn ) i =1 ( x j − xi ) i≠ j
Hermite插值余项
定理:设函数 f ( x) = C (2 n+1) [a, b] ,且 f(x)在(a,b)内 存在 2n+2 次导数,则满足式插值条件的 H 2 n+1 ( x) 的余式 有如下估计
' '
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 )
n
设H 2 n +1 ( x) = ∑ α j ( x) y j + ∑ β j ( x) y 'j
j =0 j =0
其中,α j ( x),β j ( x)为2n + 2个基函数。
由Lagrange插值基函数,设想
⎧1 1 ( )α j ( xi ) = ⎨ ⎩0
(2)α j ( xi ) = 0
α 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
函数逼近的插值法 ——Hermite插值多项式
主讲 孟纯军
Hermite 插值多项式
Lagrange插值公式所求得L(x)保证了节点处的 函数值相等,也就是保证了函数的连续性。 但不少实际问题还需要插值得光滑度,也就是 还要求它在节点处的导数值也相等,导数的阶 数越高则光滑度越高。 现代的仿生学就是一个典型的例子。在设计交 通具的外形,就是参照海豚的标本上已知点及 已知点的导数,做插值在计算机上模拟海豚的 外形制成飞机、汽车等外形。
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)
β 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
例设 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 插值公式得:
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)