5.4埃尔米特(Hermite)插值
函数近似计算的插值法Hermite插值法PPT课件
x x0 x1 x0
2
将以上结果代入
8
H3( x) f00( x) f11( x) f00( x) f11( x) 得两个节点的三次Hermite插值公式
H3( x) f00( x) f11( x) f00( x) f11( x)
f0 (1 2l1( x)) l02( x) f1(1 2l0( x)) l12( x)
x0 x1
以上分析都能成立吗?
当f (4) (x)在[x0 , x1]上存在时, 上述余项公式成立
12
Hermite插值法定理1 满足插值条件:
Hn1( xi ) Hn1( xi )
yi yi
f f
( xi ) , ( xi )
i 0,1,
,n
Hermite值问题的解存在且唯一.
Hermite插值法定理2
P( xi ) f ( xi ) fi P( xi ) f (xi ) fi P( xi ) f ( xi ) fi
i 0,1,, n --------(2)
P(m) ( xi )
f (m) ( xi )
f (m) i
3
定义1. 称满足(1)或(2)式的插值问题为Hermite插值, 称满足(1)或(2)式的插值多项式P(x)为Hermite插值多项 式,记为 Hk (,x) 为k多项式次数.
f0( x x0 ) l02 ( x) f1( x x1) l12 ( x)
f0 1 2
x x0 x1 x0
x x1 x0 x1
2
f1
1
2
x x0
x1 x1
x x1
x0 x0
2
f0 x
x0
x x0
Hermite插值公式 ppt课件
------(4)
显然满足条件(3),(4)的多项式(2)的次数不大于n+r+1次, 且满足插值条件(1).
1.求解 hk (x) (k 0,1,n)
由条件(3)知 xi (i 0,1,, r;i k) 是 hk (x) 的二重
零点 .
ppt课件
3
且由条件(3)知 xi
的零点 .
(i
h0
(
x)
(1
2
x x1
x0 x0
)(
x x0
x1 x1
)
2
h1(
x)
(1
2
x x0
x1 x1
)(
x x1
x0 x0
)2
h0
(
x)
(
x
x0
)(
x x0
x1 x1
)2
h1
(
x)
(
x
x1
)(
x x1
x0 x0
)2
多项式(12)常用作分段低次插pp值t课件, 称为分段三次 Hermite插16值.
i0
i r 1
ik
由条件(3)知hk (xk ) 1
C r
1
n
(xk xi )2 (xk xi )
i0
i r 1
ik
将C代入式(7),得
------(7)
hk
(x)
wr (x) wr (xk )
lkn ( x),
k r 1, r 2,, n -(8)
i0
埃尔米特曲线插值
埃尔米特曲线插值
埃尔米特曲线插值是一种数学方法,用于通过给定的一组数据点来构建一个平滑的曲线。
这种插值方法常用于计算机图形学、工程建模和动画等领域。
埃尔米特曲线插值是由法国数学家Charles Hermite在19世纪提出的。
它的基本思想是通过给定的数据点来构建一个多项式曲线,使得曲线在给定的数据点上具有相同的函数值和导数值。
这样可以确保插值曲线能够光滑地通过给定的数据点,并且在数据点处的斜率也是符合要求的。
在埃尔米特曲线插值中,曲线的形状由给定的数据点和导数值决定。
通常情况下,我们需要给定每个数据点处的函数值和导数值。
这些导数值可以根据实际问题的需求来确定,比如可以根据相邻数据点的斜率来计算导数值,或者通过其他方法来估计。
利用埃尔米特曲线插值,我们可以构建出一个符合给定数据点的平滑曲线,而且在数据点处的斜率也是符合要求的。
这种插值方法在
计算机图形学和动画中得到了广泛的应用,比如可以用来绘制自然流畅的曲线和路径,或者用来模拟真实物体的运动轨迹等。
总的来说,埃尔米特曲线插值是一种非常有用的数学工具,它可以帮助我们通过给定的数据点来构建出平滑的曲线,并且满足特定的函数值和导数值要求。
通过合理地选择数据点和导数值,我们可以得到符合实际需求的插值曲线,从而在计算机图形学、工程建模和动画等领域中发挥重要作用。
埃尔米特(Hermite)插值
实验二埃尔米特(Hermite)插值一、实验目的:1.掌握埃尔米特插值算法原理;2.使用C语言编程实现埃尔米特插值算法。
二、实验准备:阅读《数值分析》2.4节二、实验要求:某人从甲地开车去乙地,每隔一段时间对行车距离和速率进行一次采样,得到在n+1 个采样时刻点t i 的里程s i和速率v i(i=0, 1, ..., n)。
要求编程构造埃尔米特插值多项式H2n+1(t),满足H2n+1(t i)=s i,H'2n+1(t i)=v i,对所有i=0, 1, ..., n成立,并据此计算m个给定时刻的里程和速率。
函数接口定义:void Hermite_Interpolation( int N, double t[], double s[], double v[], int m, double ht[], double hs[], double hv[] );其中N为采样点个数(注意这个N不是公式中的最大下标n,而是等于n+1),采样时刻点t i、里程s i、速率v i分别通过t、s、v传入;m是需要估算的给定时刻的个数,ht传入给定的时刻点,相应计算出的里程和速率应分别存储在hs和hv中。
裁判程序如下:裁判输入数据:20.0 1.00.0 1.00.0 0.050.0 0.2 0.5 0.8 1.030.0 0.5 1.0100.0 170.0 200.030.0 150.0 0.050.0 0.25 0.5 0.75 1.050.0 1.0 2.0 3.0 4.00.0 60.0 160.0 260.0 300.05.0 70.0 100.0 120.0 20.0100.5 1.0 1.5 2.0 2.5 3.0 3.5 3.8 3.95 4.0标准输出数据:0.0000 0.1040 0.5000 0.8960 1.00000.0000 0.9600 1.5000 0.9600 0.0000100.0000 127.9297 170.0000 195.9766 200.000030.0000 165.4688 150.0000 52.9688 0.000030.2222 60.0000 105.9303 160.0000 206.3438 260.0000 307.9764 305.7687 299.9796 300.000062.6024 70.0000 109.0488 100.0000 92.9745 120.0000 41.2374 -44.8421 -16.2783 20.0000#include<stdio.h>#define MAXN 5 /* 最大采样点个数 */#define MAXM 10 /* 最大估算点个数 */void Hermite_Interpolation( int N, double t[], double s[], double v[], int m, double ht[], double hs[], double hv[] ){double l[10],p[10],h1[10],h2[10],x,ll[10],pp[10];int kk;for(kk=0;kk<m;kk++){x=ht[kk];hs[kk]=0;hv[kk]=0;int i;for(i=0;i<N;i++){l[i]=1;ll[i]=1;int j;for(j=0;j<N;j++){if(i!=j){l[i]=l[i]*(x-t[j])/(t[i]-t[j]);}}p[i]=0;pp[i]=0;int k;for(k=0;k<N;k++){if(i!=k){p[i]=p[i]+l[i]/(x-t[k]);pp[i]=pp[i]+ll[i]/(t[i]-t[k]);}}h1[i]=(1-2*pp[i]*(x-t[i]))*l[i]*l[i];h2[i]=(x-t[i])*l[i]*l[i];hs[kk]=hs[kk]+s[i]*h1[i]+v[i]*h2[i];int kkk;for(kkk=0;kkk<N;kkk++){if(x==t[kkk])break;}if(x==t[kkk])hv[kk]=v[kkk];elsehv[kk]=hv[kk]+s[i]*(2*p[i]*l[i]-4*l[i]*p[i]*(x-t[i])*pp[i]-2*pp[i]*l[ i]*l[i])+v[i]*(l[i]*l[i]+2*l[i]*p[i]*(x-t[i]));}}}int main(){int N, m;double t[MAXN], s[MAXN], v[MAXN]; /* 用于构造的数据 */double ht[MAXM], hs[MAXM], hv[MAXM]; /* 用估算的数据 */int i;while ( scanf("%d", &N) != EOF ) {for ( i=0; i<N; i++ )scanf("%lf", &t[i]);for ( i=0; i<N; i++ )scanf("%lf", &s[i]);for ( i=0; i<N; i++ )scanf("%lf", &v[i]);scanf("%d", &m);for ( i=0; i<m; i++ )scanf("%lf", &ht[i]);Hermite_Interpolation( N, t, s, v, m, ht, hs, hv );for ( i=0; i<m; i++ )printf("%.4lf ", hs[i]);printf("\n");for ( i=0; i<m; i++ )printf("%.4lf ", hv[i]);printf("\n\n");}return 0; }。
埃尔米特插值法
埃尔米特插值法1. 引言埃尔米特插值法是一种用于数据插值的数值方法。
它通过给定的数据点来构造一个多项式函数,该函数在这些数据点上与给定的函数具有相同的函数值和导数值。
埃尔米特插值法可以应用于各种领域,如数学、物理、计算机图形学等。
2. 插值问题在实际问题中,我们常常需要根据已知数据点来估计未知数据点的函数值。
这就是插值问题。
给定n个不同的数据点(x0,y0),(x1,y1),...,(x n,y n),我们希望找到一个多项式函数P(x),使得P(x i)=y i对所有i=0,1,...,n成立。
3. 埃尔米特插值多项式埃尔米特插值多项式是满足以下条件的多项式: - 在每个已知数据点上具有相同的函数值:P(x i)=y i - 在每个已知数据点上具有相同的导数值:P′(x i)=m i其中m i是给定的导数值。
为了构造埃尔米特插值多项式,我们需要利用这些条件来确定其系数。
4. 构造埃尔米特插值多项式埃尔米特插值多项式的一般形式为:P(x)=∑ℎini=0(x)⋅y i+∑g ini=0(x)⋅m i其中ℎi(x)和g i(x)是满足以下条件的基函数: - ℎi(x j)=δij,其中δij是克罗内克(Kronecker)符号,当i=j时取值为1,否则为0。
- g i(x j)=0对所有i,j成立。
基于这些条件,我们可以求解出基函数ℎi(x)和g i(x)的表达式,并将其代入埃尔米特插值多项式的公式中。
5. 插值误差估计在实际应用中,我们通常需要估计插值多项式的误差。
通过使用泰勒展开和拉格朗日余项定理,可以得到以下插值误差的估计公式:f(x)−P n(x)=f(n+1)(ξ)(n+1)!(x−x0)(x−x1)...(x−x n)其中f(n+1)(ξ)是函数f(x)在x0,x1,...,x n之间某个点ξ处的(n+1)阶导数。
6. 示例假设我们有以下数据点:(0,1),(1,2),(2,−1)。
我们希望通过这些数据点构造一个埃尔米特插值多项式。
第三章 插值法 Hermite插值
j
(
x
)
(1
c(
x
x
j
))
(((xxx xx000))222((xx xx11))222 ((xxjj xx00))22((xxjj xx11))22
(((xxxxxjjj11))222((xx xxjj11))22 ((xx ((xxjj xxjj11))22((xxjj xxjj11))22 ((
P3( x) f ( x0 ) f x0, x1x x0 f x0, x1, x2 ( x x0 )x x1
f [ x0 , x1, x1, x2 ,]( x x0 )( x x1 )( x x2 ) --- 带重节点的牛顿插值多项式
插值余项(误差估计):
条件 f ( x) C 3[a, b],f(4)( x)存在。
i 0,1, , n, xi互异)
(b)H2n1( x) 为Hermite插值多项式,
则
R2n1( x) f ( x) H 2n1( x)
f ( (2n2) )
(2n 2)!
(x
x0 )2( x
x1 )2
( x xn )2
f (2n (2n
2) ( )
2)!
2 n1
(
x
),
(a, b)且与 x 有关。
结论
R( x)
f ( x) P3 ( x)
f
(4) (
4!
)
(
x
x0
)( x
x1 )2 ( x x0 , x2
x2 )。 且依赖于x
证明
(1)当 x xi (i 0,1,2)时, R( xi ) 0 右端 0; (2)当 x xi (i 0,1,2)时,
埃尔米特hermite插值
埃尔米特插值5.4.1 问题的提出面讨论的拉格朗日和牛顿插值多项式的插值条件只要求在插值节点上,插 值函数与被插值函数的函数值相等,即)(i n x L =f(i x )和n N (i x )=f(i x ),有时 不仅要求插值多项式在插值节点上与被插值函数的函数值相等,还要插值多项式的导数在这些 点上被插函数的导数值相等,即要求满足插值条件:n i x f x H x f x H i i n i i n ,...,1,0,(')('),()()1212===++ (5.4.1)的次数不超过 2n+1的插值多项式12+n H ,这就是埃尔米特 (Hermite) 插值问题。
定义:假设在区间【α,b 】上给定了n 个互不相同的点x 1,x 2,…,x n 以及一张数表(*)记m=α1+α2+…+αn 。
早在 1878年C.埃尔米特就证明:存在惟一的次数不高于m-1的代数多项式H n (x ),使得,H n (x )为表(*)的以为结点组的埃尔米特插值多项式。
如果定义在【α,b 】上的函数ƒ(x )在x k (k =1,2,…,n )处有αk-1阶导数,并取,则称相应的H n (x )为ƒ(x )的以为结点组的(α1,α2,…,αn )阶埃尔米特插值多项式。
作为特殊情况,若诸αk 都为1,则H n (x )就是ƒ(x )的拉格朗日插值多项式;若n =1,则H n (x )为ƒ(x )的α1-1阶泰勒多项式。
最使人们注意的是诸αk 都为2的情况,这时H n (x )为次数不高于2n -1的代数多项式。
如果写H n (x )可表示为在这种情况下,常取,而给以适当的限制。
5.4.2三次埃尔米特插值我们考虑只有两个节点的三次埃尔米特插值。
设插值点为(0x ,0y ),(1x ,1y ),要求一次数不超过3的多项式)(3x H ,满足下列条件:i i i i m x H y x H ==)(',)(33 i=0,1(5.4.2) 式中i m =f ′(i x ),i=01。
5.4 三次Hermite插值
由于0 ( x0 ) 0 ( x1 ) 0( x1 ) 0, 故 0 ( x) 含有 ( x x0 )( x x1 ) 因子。可设
0 ( x) c( x x0 )( x x1 )2
2
其中c为待定系数。
1 . 由 0( x0 ) 1, 可得 c 2 ( x0 x1 )
称 H3 ( x) 为三次Hermite插值多项式,上述条件称 为此问题的插值条件。
采用基函数的方法来构造 H3 ( x) 。
将 H3 ( x) 表示为:
H3 ( x) y00 ( x) y11( x) m00 ( x) m11( x)
其中 0 ( x),1 ( x), 0 ( x), 1 ( x)为插值基函数,且均为次数 不超过3的多项式。为满足插值条件,它们应满足
并给出余项公式。
( x1 ) m1, (i 0,1,2), H3 ( xi ) yi , H3 H3 ( x) y00 ( x) y11( x) y22 ( x) m11( x)
函数值
导数值
x0
x1
0
1
x2
0 0
1
x1
0 0 0
1
0 ( x)
1( x)
2 ( x )
作为多项式插值,三次已是较高的次数,次数再高就有 可能发生Runge现象,因此,对有n+1节点的插值问题, 我们可以使用分段两点三次Hermite插值
例1 对给定数表
x
y
x0 y0
x1 y1 m1
x2 y2
y
求一个三次Hermite插值多项式 H3 ( x) 满足条件
( x1 ) m1, (i 0,1,2), H3 ( xi ) yi , H3
第三章(二) 埃尔米特-样条插值法
(2n2)
( ) ( x x j )
j0
n
2
(3.4-11)
x x 0 x x1 h0 ( x ) 1 2 . x 0 x1 x 0 x1
H 3 ( x ) h 0 ( x ) 2 h1 ( x ) 2 g 0 ( x ) m 1 g 1 ( x ) x 0 x 1 x 1 x 0 1 2 2 1 2 0 1 0 1 1 0 1 0 2( x 0) x 1 x0 m 1 ( x 1) 0 1 1 0
2
h 1 ( x ) 1 2 l 1 ( x 1 )( x x 1 ) l 1 ( x ),
2
g 0 ( x ) ( x x 0 ) l 0 ( x ), ( x ) ( x x 1 ) l 1 ( x ). g1
2 2Leabharlann Hermite插值余项定理 定理 假设函数f (x)在 x [ a , b ] 上具有(2n+1)阶连续导数,在 x [ a , b ] 内存在(2n+2)阶导数,那么对于x [ a , b ] ,必定存在一点 ( a , b ) 使 得下式成立:
先构造 h0(x), 设
由h0(x0) = 1,
x x1 h0 ( x ) (a bx ) . x 0 x1
2
∵h0(x1)=h'0(x1)=0
h0 ( x 0 ) 0,
同理
x x 0 x x1 h0 ( x ) 1 2 x x . x 0 x1 0 1
数值计算方法 5插值法
5.2.3 n次拉格朗日插值
➢问题描述
插值基点:x0,x1,…,xn(n+1个点互异) 插值函数:不超过n次的多项式
插值条件:Ln(xi)=yi, i=0,1,2,…,n
➢基函数
li (x)
(x x0 ) (x xi1 )(x xi1 ) (x xn ) (xi x0 ) (xi xi1 )(xi xi1 ) (xi xn )
定义5-3
设H
是
n
不超过n次的多项式的全体的集合,
0
(
x)
,1
(
x),
,n (x)
是H n中n
1个线性无关的多项式,则0 (x),1 (x),
,
n
(
x)是H
的
n
一组基函数。
注意:基函数是不唯一的;
n
H n中的任一多项式pn (x)均可由基函数唯一表示,即pn (x) kii (x) i0
➢定理5-1 (插值函数的存在唯一性定理)
由于多项式有其优良的特性,所以通常都是用多项式作为 插值函数。还有其它类型的插值函数,如有理函数插值、 三角函数插值等
➢函数插值涉及的基本问题
插值函数的存在唯一性问题
插值函数的构造问题
截断误差估计与收敛性问题
➢ 代数多项式插值函数的构造方法
拉格朗日插值法 埃尔米特插值法
牛顿插值法
样条函数插值法
拉格朗日插值函数均可表示为一组基函数与函数值的线性组 合,这些基函数与被插函数无关,只需用插值基点有来构造。
5.2.1 拉格朗日线性插值L1(x) ➢线性插值及几何意义
n=1时的n次多项式L1(x) 称为线性插值。此时,有两个互异的 插值基点:x0,x1,插值条件为: L1(x0)=y0, L1(x1)=y1 。
埃尔米特插值
ax j + b = 1; 解出 a = −2l′ (xj ),b =1+ xjl′ (xj ) 整理得 j j a + 2l j ( x j ) = 0.
由于
l j ( x) =
( x − x0 )⋯( x − x j −i )( x − x j +i )⋯( x − xn ) ( x j − x0 )⋯( x j − x j −i )( x j − x j +i )⋯( x j − xn )
2 j
α j ( x )及β j ( x ) 。
li (x ) 令 。
α j ( x ) = (ax + b)l ( x )
其中 l i ( x
)
是(2.10)式所表示的基函数。由条件(6.2)有
α j ( x j ) = (ax j + b)l 2 ( x j ) = 1 j
α ′j ( x j ) = l j ( x j )[al j ( x j ) + 2( ax j + b)l ′j ( x j ) = 0
H 2 n +1 ( x ) = ∑ [y jα j ( x ) + m j β j ( x )]
n j =0
Байду номын сангаас
(6.3)
′ 由条件(6.2),显然有, H 2 n +1 ( xk ) = yk , H 2 n +1 ( xk ) = mk ,
( k = 0,1, ⋯ , n) .
。下面的问题就是求满足条件(6.2)的基函数 为此,可利用拉格朗日插值基函数
ϕ ( 4 ) (t ) 在(a,b)内至少有一个零点,故
ϕ ( 4 ) (ξ ) = f ( 4 ) (ξ ) − 4! k ( x ) = 0
埃尔米特插值
内江师范学院数学与信息科学学院 吴开腾 制作
6、Hermite插值余项 、 插值余项
定理 若 f ( x) 在插值区间 [a, b] 内有 2n + 2 阶导数 f (2 n + 2) ( x) , 则对于任何 x ∈ [a, b] ,Hermite插值问题(a)、(b)的 余项为
则有
g ( x) = f ( x) − H ( x) − k ( x)[π ( x)]2 = R( x) − R ( x) = 0
g ( xi ) = 0(i = 0,1,L , n)
又由插值条件( ) 得 又由插值条件(b),得
内江师范学院数学与信息科学学院 吴开腾 制作
可知 g (t ) 在区间 [a, b] 上有 n + 1 个二重零点xi (i 零点 x i 。
若已知函数 f ( x) 在插值区间 [a, b]上 n + 1个 互异的节点
x0 ,L , xn 处的函数值 f ( xi ) = f i及一阶导数值 f '( xi ) = f 'i
(i = 0,1,L , n),求插值函数 H ( x) 满足条件:
(a) H ( x)是一个次数不超过 2n + 1次的多项式; (b)
将上式与定理中要证明的( )进行比较, 将上式与定理中要证明的(*)进行比较,可知只需证明
先将
的定值, x 看作不同于 xi 的定值,作辅助函数
f (ξ ) k ( x) = (2n + 2)!
(2 n + 2)
g (t ) = f (t ) − H (t ) − k ( x)[π (t )]2 ,
计算方法(8) 第五章 插值法
得 a2abb10
a 1, b 2
(2)2( x)为四次多项式,且满足
2
(0)
0,
2
(1)
0,2
(2)
1,2'
(0)
0,
' 2
(1)
0
设
2
(
x
)
l22
(
x)
(
(x (2
0)( x 0)(2
1) 1)
)2
由2(2) 1, l2(2) 1得 1,2( x)
H 2n1 H '2n1
( (
xi xi
) )
yi y 'i
i 0,1,2,L n
一、一般情形的 Hermite插值问题
用Lagrange型插值基函数法
设Hermite插值多项式为
n
n
H2n1( x) i ( x) yi i ( x) y 'i
i0
i0
1( x) (1 ( 2 x x1)l(1 x1))l 2(1 x )
0 ( x) (x x0)l 2(0 x )
1( x) (x x1)l 2(1 x )
其中
l0( x)
x x1 , x0 x1
l
' 0
(
x
)
x0
1
x1
l1( x)
x x0 , x1 x0
' i
(
xi
)
n j0
1
Hermite插值
第五章 函数近似计算(插值问题)的插值方法5.4 Hermite 插值 1.带导数值的提法如果不仅已知插值节点处的函数值,而且还掌握插值节点处的导数值(1阶甚至高阶);或者说,不仅要求在节点处插值多项式与被插值函数的值相等(Lagrange 条件),而且还要求相应阶的导数值也要相等,这就是带导数插值,也称为Hermite(埃尔米特)插值。
从几何上看,Hermite 插值意味着插值函数不仅要过被插函数的已知点,而且在这些点上,两者还要“相切”(即导数值相同),可见这种插值函数与被插函数的“密切”程度比Lagrange 插值的情况更好,因此,Herimite 插值也称为密切插值。
下面只讨论1阶导数的情形。
2.Hermite 插值问题及插值公式 已知函数f在],[b a 上1+n 上互异节点],[b a x i ∈的函数值)(i i x f f =和1阶导数值),,1,0)((''n i x f f i i ==,或记为已知离散数据),,1,0)(',,(n i f f x i i i = (5.4.1)求作一个次数尽可能低的多项式)(x H ,满足插值条件),,1,0(')(')(n i f x H f x H iii =⎩⎨⎧== (5.4.2) 这样的多项式)(x H 就称为Hermite 插值多项式。
注意这里有22+n 个插值条件。
故有下述定理。
定理 5.4.1 对已知数据 (5.4.1)存在惟一的次数12+≤n 的多项式1212)(++∈n n P x H 满足插值条件),,1,0(')(')(1212n i f x H f x H in ii n =⎩⎨⎧==++ (5.4.3)这里,也仿照Lagrange 插值多项式的做法,用基函数的方法求插值多项式)(12x H n +。
如果能够由已知插值节点),,1,0(n i x i =作出22+n 个12+n 次插值基函数 )(x i α,)(x i β ),,1,0(n i =它们具有下列性质:⎩⎨⎧==01)(ij j i x δαji ji ≠= 0)('=j i x α (5.4.4) 0)(=j i x β ⎩⎨⎧==01)(ij j i x δβ ji ji ≠= (5.4.5)则显然可得满足插值条件(5.4.3)的12+n 次Hermite 插值多项式∑=++=ni i i i i n f x f x x H 012]')()([)(βα (5.4.6)现在来确定)(x i α和)(x i β。
埃尔米特插值多项式
埃尔米特插值多项式简介埃尔米特插值多项式(Hermite Interpolation Polynomial)是一种常用的插值方法,用于通过给定的数据点集合来计算一个多项式,使得多项式在给定的数据点上与其函数值和导数值都完全匹配。
本文档将介绍埃尔米特插值多项式的原理、计算过程和应用。
基本原理埃尔米特插值多项式的基本思想是通过插值条件来求解多项式的系数。
给定数据点集合和对应的函数值和导数值,目标是找到一个多项式,使得多项式在给定的数据点上与其函数值和导数值都完全匹配。
首先,对于每一个给定的数据点,我们需要求解一个插值多项式。
插值多项式的次数应该比给定数据点的个数少 1。
例如,给定数据点集合{ (x0, f0, f'0), (x1, f1, f'1), ... , (xn, fn, f'n) },我们需要找到一个次数为n的多项式H(x)。
对于每一个数据点(xi, fi, f'i),插值多项式H(x)满足以下条件:1.H(xi) = fi,即多项式在数据点上与函数值完全匹配2.H'(xi) = f'i,即多项式在数据点上与导数值完全匹配根据这两个条件,我们可以构建一个n+1次的多项式,满足上述条件。
计算过程下面是埃尔米特插值多项式的计算过程:1.根据给定的数据点集合,构建一个空的多项式,初始阶次为 0,即H(x) = a02.对于每一个数据点(xi, fi, f'i):–计算多项式的阶次n,并更新多项式的阶次为n+1–求解f'i的差商f'i / (xi - x0),记为f'i / (x[i]-x0)–更新多项式的系数a,使得H(x) = H(x) + a * (x - x0)^i–更新多项式H(x)的阶次为n3.返回多项式H(x)应用埃尔米特插值多项式在实际应用中具有广泛的用途,包括但不限于以下领域:1.数值计算和近似:埃尔米特插值多项式可以用于通过已知的函数值和导数值来近似计算未知的函数值,用于求解数值问题。
5.4埃尔米特(Hermite)插值
n
计算方法
H2n+1(x)为满足条件
H ( xi ) f ( xi ),
H ( xi ) f ( xi )
( i 0,1, , n)
的2n+1次Hermite插值多项式。
计算方法
定理
满足插值条件
H ( xi ) f ( xi ) ( i 0,1, , n)
H ( xi ) f ( xi ),
计算方法
§5.4 埃尔米特(Hermite)插值
许多实际问题不但要求插值函数p(x)在插值节
点处与被插函数f(x)有相同的函数值p(xi)=f(xi) (i=0,1,2,…,n), 而且要求在有些节点或全部节点上 与f(x)的导数值也相等,甚至要求高阶导数值也相 等,能满足这种要求的插值问题就称为埃尔米特
i( x j ) 0 i ( x j ) 0
(i, j =0,1,2, …,n)
Hermite插值多项式可写成插值基函数表示的形式
H 2 n1 ( x ) i ( x ) f ( xi ) i ( x ) f ( xi )
i 0
n
计算方法
验证:
H 2n1 ( x j ) i ( x j ) f ( xi ) i ( x j ) f ( xi ) ij f ( xi ) 0 f ( x j )
i 0 i 0
n
n
0 ij f ( x j ) f ( x j )
i 0
n
计算方法
根据插值条件可求出 j ( x ) 和 j ( x )( j 0,1, n)
n 1 2 1 2( x x ) j ( x) l j ( x) j k 0 x j xk k j
埃尔米特插值公式
埃尔米特插值公式埃尔米特插值公式是由德国数学家Joseph Louis Lagrange于19世纪初发明的一种多项式插值方法,也叫做Lagrange插值法或Lagrange插值公式。
埃尔米特插值法是一种有效的函数拟合方法,广泛应用在工程、物理、计算机科学等领域中。
埃尔米特插值公式的思想是通过把原始函数f(x)拆分成n次多项式,每次多项式都只依赖于n+1个数据点,然后再将这些多项式合并起来,形成一个新的函数F(x),使得F(x)在n+1个数据点上与原始函数f(x)相等。
因此,埃尔米特插值公式在拟合问题中,可以用来根据n+1个已知点构造一个n次多项式,用该多项式对未知点的函数值做估计。
埃尔米特插值公式的表达式如下:F(x)=Σ[l_i(x)*f(x_i)]其中l_i(x)= Π [ (x-x_j)/(x_i-x_j) ] (i≠j)其中Σ表示所有项求和,Π表示所有项相乘,l_i(x)是插值函数,f(x_i)是原始函数在x_i处的值,x_i 是已知点,x是未知点。
其中插值函数l_i(x)的性质有:1. 当x=x_i时,l_i(x)=1,其余l_i(x)=0;2. 其余l_i(x)的值均为正,且取值不超过1;3. 在x_i<x<x_{i+1}区间,l_i(x)随x的增加而增大; 4. 在x_{i-1}<x<x_i区间,l_i(x)随x的增加而减小。
埃尔米特插值公式的优点有:1. 插值精度高:埃尔米特插值法可以得到高精度的拟合结果;2. 可以拟合任意曲线:埃尔米特插值法可以拟合任意曲线,因为它是一个有效的函数拟合方法;3. 易于计算:埃尔米特插值法是一种比较简单的函数拟合方法,只要求出n+1个已知数据点就能求出埃尔米特插值多项式的公式。
埃尔米特插值公式的缺点有:1. 对曲线的拟合效果可能不太好:虽然埃尔米特插值公式能够拟合任意曲线,但是它不一定能拟合出曲线的真实走势;2. 已知点的数量必须是n+1:由于埃尔米特插值公式只能根据n+1个已知点构造一个n次多项式,如果已知点的数量不满足n+1,就无法使用此公式;3. 数值不稳定:在极端情况下,埃尔米特插值公式可能出现数值不稳定的情况,尤其是当插值点的数值差异较大时。
54第四节 Hermite插值
数学学院 信息与计算科学系
二、误差估计
定理4 设f(x)在包含x0、x1的区间[a, b]内存在 四阶导数,则当x∈[a, b]时有余项式
R3( x)
f (x)
H3(x)
1 4!
f (4)( )( x
x0 )2( x
x1 )2
( (a, b)且与x有关)
设
M4
max
x0 x x1
x
144
x
1212
得 由
125
H3
(125) f (4)(
11.18035
x)
15 16 x 7
/
2
可求得
R3 (125)
15 1
384 16 3
42 192
15 384
192 1213 11
0.000012
x0 x0
)
2
,
1
(
x
)
(
x
x1
)(
x x1
x0 x0
)2
0 ( x) [1 2l1( x)]l02( x) 0 ( x) ( x x0 )l02( x) 1( x) [1 2l0 ( x)]l12( x) 1( x) ( x x1 )l12( x)
数学学院 信息与计算科学系
第四节 埃尔米特(Hermite)插值
一、 埃尔米特插值多项式
为了使插值函数能更好的切合原来的函数,许多 问题不但要求节点上的函数值相等,还要求导数值相 同,甚至高阶导数也相等,这类插值问题称为埃尔米 特插值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§5.4 埃尔米特(Hermite)插值
许多实际问题不但要求插值函数p(x)在插值节
点处与被插函数f(x)有相同的函数值p(xi)=f(xi) (i=0,1,2,…,n), 而且要求在有些节点或全部节点上 与f(x)的导数值也相等,甚至要求高阶导数值也相 等,能满足这种要求的插值问题就称为埃尔米特
故得
H3 ( x) x 3
x
1 0 1 0 0
1 1
计算方法
另解
y ( x) y f ( x )
由题意知:x=0是H3(x)的二重零点,故可令 H3(x)=x2(ax+b) 由H3(-1)= -1 H3(-1)=1 知 b - a= -1 a +b= 1 解之得 a=1 b=0 故有 H3(x)=x3
由2n+2个条件来确定2n+2个系数a0, a1, a2, …a2n+1显然
非常复杂, 所以要用求Lagrange插值多项式的基函数
的方法, 求插值基函数i(x)及i(x) (i=0,1,2, …,n)共有 2n+2个, 设每一个基函数为次数不超过2n+1次的多项 式,且满足条件
计算方法
0 i j i ( x j ) ij 1 i j 0 i j i( x j ) ij 1 i j
但 ( x ) 是不高于2n+1次的多项式, 所以
( x) 0
H 2 n1 ( x ) H 2 n1 ( x )
惟一性得证。
计算方法
定理
若f(x)在a,b上存在2n+2阶导数,则
2n+1次Hermite插值多项式的余项为
f ( 2 n 2 ) ( ) 2 R2 n1 ( x ) f ( x ) H 2 n1 ( x ) ( x) ( 2n 2)!
1 x 121 x 144 121 144 22 144 121
2
x
2
121 11 1/22
144 12 1/24
1 x 144 x 121 144 121 24 121 144
x x0 2 1 ( x ) ( x x1 )( ) x1 x0
f ( ) R3 ( x ) ( x x0 ) 2 ( x x1 ) 2 4!
( x0 , x1 )
例1 已知f(x)=x1/2及其一阶导数的数据见下表,用埃 尔米特插值公式计算1251/2的近似值,并估计其截断误 2 差. 解 H ( x ) 11 1 2 x 121 x 144 3 121 144 144 121 2 x 144 x 121 12 1 2 144 121 121 144
不超过三次的Hermite的插值多项式H3(x)使
H3(xi) = yi
H´3(xi) = y´i x
(i=0,1,2)
1 1
0 0 0
1 1
y ( x) y f ( x )
解
所求三次Hermite的插值多项式为
H 3 ( x ) a0 a1 x a2 x 2 a3 x 3
计算方法
由插值条件得到以下方程组
H 3 ( 1) a0 a1 a2 a3 1 H 3 ( 0 ) a0 0 H 3 (1) a0 a1 a2 a3 1 H 3 ( 0 ) a1 0
解上述方程组
a0 0, a1 0, a2 0, a3 1
计算方法
上式给出了2n+2个条件,可惟一确定一个次数不超
过2n+1的多项式H2n+1(x),采用类似于求Lagrange 插值多项式的基函数方法求埃尔米特(Hermite)插 值多项式H2n+1(x) 。
计算方法
次数不超过2n+1次的多项式的形式为: H2n+1(x)= H(x),
H2n+1(x)=a0+ a1x+ a2x2+ …+ a2n+1x2n+1
其中
( x ) ( x x0 )( x x1 )( x xn )
(a, b)
定理的证明可仿照Lagrange插值余项的证明方法
实际中使用最广泛的是三次Hermite插值多项式,即 n=1的情况
计算方法
H 3 ( x ) j ( x ) f ( x j ) j ( x ) f ( x j )
i 0 i 0
n
n
0 ij f ( x j ) f ( x j )
i 0
n
计算方法
根据插值条件可求出 j ( x ) 和 j ( x )( j 0,1, n)
n 1 2 1 2( x x ) j ( x) l j ( x) j k 0 x j xk k j
得 由
125 H 3 (125) 11.18035
可求得
15 f ( x) 16 x 7 / 2 15 1 R3 (125) 4 2 19 2 384 16 3
(4)
15 19 2 0.000012 3 384 121 11
计算方法
例2 已知函数 y= f(x) 的数据如下表所示, 求次数
i 0 i 0 i 0
n
n
n
n1 ( x ) i ( x ) f ( xi ) i ( x ) f ( xi ) H2 i 0
n
H 2 n1 ( x j ) i( x j ) f ( x j ) i ( x j ) f ( x j )
插值(Hermite)。
计算方法
定义 已知 n+1个互异点上 a x0 x1 xn b 的函数值 f ( xi ) 和导数值 f ( xi ) ,若存在 一个次数不超过2n+1的多项式H(x),满足 H ( xi ) f ( xi ), H ( xi ) f ( xi ) ( i 0,1, , n) 则称H(x)为f(x)的2n+1次埃尔米特(Hermite)插值。
n
计算方法
H2n+1(x)为满足条件
H ( xi ) f ( xi ),
H ( xi ) f ( xi )
( i 0,1, , n)
的2n+1次Hermite插值多项式。
计算方法
定理
满足插值条件
H ( xi ) f ( xi ) ( i 0,1, , n)
H ( xi ) f ( xi ),
f(x) f '(x)
2 2 11 12 H 3 ( x ) 3 2 x 219 x 144 3 265 2 x x 121 23 23 2 2 1 1 x 121 x 144 x 144 x 121 2 2 22 23 24 23
的Hermite插值多项式是惟一的。 证: 设 H 2 n1 ( x )和 H 2 n1 ( x )都满足上述插值条件,令
( x ) H 2 n1 ( x ) H 2 n1 ( x )
则每个节点 xk ( k 0,1, , n) 均为 ( x )的二重根,
计算方法
即
( x ) 有2n+2个根,
i( x j ) 0 i ( x j ) 0
(i, j =0,1,2, …,n)
Hermite插值多项式可写成插值基函数表示的形式
H 2 n1 ( x ) i ( x ) f ( xi ) i ( x ) f ( xi )
i 0
n
计算方法
验证:
H 2n1 ( x j ) i ( x j ) f ( xi ) i ( x j ) f ( xi ) ij f ( xi ) 0 f ( x j )
j 0 j 0
1
1
x x0 x x1 2 0 ( x ) (1 2 )( ) x0 x1 x0 x1 x x1 2 0 ( x ) ( x x0 )( ) x0 x1
(4)
x x1 x x0 2 1 ( x ) (1 2 )( ) x1 x0 x1 x0
j ( x ) ( x x j )l ( x )
2 j
n n 1 2 H 2 n1 ( x ) 1 2( x x j ) l j ( x ) f ( x j ) ( x x j )l 2 ( x ) f ( x j ) j j 0 k 0 x j xk j 0 k j