【精选】第三章(二) 埃尔米特-样条插值法6
计算机数值方法第三章 插值法与最小二乘法.ppt
(3―1)
使其在给定的n+1个互异的插值结点上满足
插值条件
Pn(xi)=yi (i=0,1,…,n) (3―2)
第三章
插值法与最小二乘法
这样的多项式是否存在并且唯一呢?
根据插值条件,代数多项式(3―1)中的各个系
数a0,a1,…,an应满足下列n+1阶线性方程组
2 n Pn ( x0 ) a0 a1 x0 a2 x0 an x0 y0 2 n Pn ( x1 ) a0 a1 x1 a2 x1 an x1 y1 (3―3) P ( x ) a a x a x2 a xn y n n 0 1 n 2 n n n n
《 计 算 机 数 值 方 法 》
称 l (x),l (x) 为线性插值基函数 k k+1
第三章
插值法与最小二乘法
例1: 已知 100 10 , 121 11 ,求 y 115
代入点斜式插值多项式
y1 y0 L1 ( x) y0 ( x x0 ) x1 x0
得 y=10.71428
第三章
插值法与最小二乘法
下面给出插值多项式Pn(x)余项的表达式。
定理 设函数f(x)在区间[a,b]上具有n+1阶导数,
Pn(x)为次数不高于n的多项式,
且 Pn(xi)=yi (i=0,1,…,n)
则对插值区间上的任何x,都存在ξ∈(a,b),使得
《 计 算 机 数 值 方 法 》
f ( n 1) ( ) Rn ( x ) n 1 ( x ) ( n 1)! 其中,n 1 ( x) ( x x0 )( x x1 ) ( x xn ) ( x xi )
埃尔米特插值
(5.8)
x xk 1 , k ( x) x xk x x k 1 k 2 x xk k 1 ( x) x xk 1 x x . k k 1
2
(5.9)
2.5
埃尔米特插值
有些实际的插值问题不但要求在节点上函数值相等, 而且还要求对应的导数值也相等,甚至要求高阶导数也相等. 满足这种要求的插值多项式就是埃尔米特插值多项式. 下面只讨论函数值与导数值个数相等的情况.
1
设在节点 a x0 x1 xn b 上,y j
m j f ( x j )
H 2 n 1 ( x) a0 a1 x a2 n 1 x 2 n 1.
现在仍采用求拉格朗日插值多项式的基函数方法.
2
先求出 2n 2 个插值基函数 j (x) 及 j ( x) ( j 0,1,, n), 且满足条件 每一个基函数都是 2n 1 次多项式,
xk 5 10 k , n (k 0,1, , n)
所构造的拉格朗日插值多项式为
Ln ( x)
n 1 ( x) 1 . 2 j 0 1 x j ( x x j )n 1 ( x j )
n
令 xn 1/ 2 1 ( xn 1 xn ), 则 xn 1/ 2 5 5 ,
果并不好.
通常不用高次插值,而用分段低次插值.
2
n
18
表2-5列出了 n 2,4,,20 时的 Ln ( xn1/ 2 )的计算结果及 在 xn 1/ 2 上的误差 R( xn 1/ 2 ).
表2 5 n 2 4 6 8 10 12 14 16 18 20 f ( xn 1/ 2 ) 0.137931 0.066390 0.054463 0.049651 0.047059 0.045440 0.044334 0.043530 0.042920 0.042440 Ln ( xn 1/ 2 ) 0.759615 0.356826 0.607879 0.831017 1.578721 2.755000 5.332743 10.173867 20.123671 39.952449 R ( xn 1/ 2 ) 0.621684 0.423216 0.553416 0.880668 1.531662 2.800440 5.288409 10.217397 20.080751 39.994889
埃尔米特插值法
埃尔米特插值法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)。
我们希望通过这些数据点构造一个埃尔米特插值多项式。
2.4埃尔米特插值
2 1
x − x0 x −x 0 1
2
2
β 0 ( x ) = ( x − x0 ) ⋅ l02 ( x ) = ( x − x0 ) x − x1 x −x 1 0
β 1 ( x ) = ( x − x1 ) ⋅ l ( x ) = ( x − x1 )
两个节点就可以用2 × 1 + 1 = 3次多项式作为插值函数
( 2 ) 同样 , 若要求P( x )在[ a , b ]上具有m阶导数( m阶光滑度) 显然P( x )在节点 x0 , x1 ,⋯ , xn处必须满足
P( xi ) = f ( xi ) = yi
P′( xi ) = f ′( xi ) = yi′ P′′( xi ) = f ′′( xi ) = yi′′
其中
α 0 ( x0 ) = 1
α 1 ( x0 ) = 0
α 0 ( x1 ) = 0
α 1 ( x1 ) = 1 β 0 ( x1 ) = 0
′ α 0 ( x0 ) = 0 ′ α 1 ( x0 ) = 0 ′ β 0 ( x0 ) = 1 ′ β 1 ( x0 ) = 0
′ α 0 ( x1 ) = 0
所以,两点三次Hermite插值的余项为
f ( 4 ) (ξ ) R3 ( x ) = ( x − x0 )2 ( x − x1 )2 4!
x0 ≤ ξ ≤ x1
以上分析都能成立吗?
当f ( 4 ) ( x )在[ x0 , x1 ]上存在且连续时 , 上述余项公式成立
例.
已知f ( x )在节点1,处的函数值为f (1) = 2 , f ( 2 ) = 3 2 f ( x )在节点1,处的导数值为f ′(1) = 0 , f ′( 2 ) = −1 2
埃尔米特(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; }。
第三章 插值法 Hermite插值
, H3 ( xk1 ) yk1 , H'3 ( xk1 ) mk1
H3(x) 存在且唯一,表达式为
f '( x) mk
(5.8)
mk 1
H3 ( x) ykk ( x) yk1 k1( x) mk k ( x) mk1k1( x) (5.9)
其中
k ( x)
(1
2
x xk xk1 xk
则可令 j (x) A(x xj )(x x0)2(x x1)2 (x xj1)2(x xj1)2 (x xn )2
又由 j ( x j ) 1 ,则有 1 j ( xj ) A(xj x0)2(xj x1)2 ( xj xj1)2( xj xj1)2 (xj xn )2
lj
n1
xj)
i0
xj
xi
i j
(x x j )l
nx
(x)
x i 0
i j
j
)l
2 j
(
x
);
2 j
(
x);
xi xi
余项公式为:
R3( x)
f (x) H3(x)
f
(4) (
4!
)
(
x
xk
)2
(
x
xk 1
)2
x x0 x1 x2
例 已知 y f (x) 函数表及导数表 f ( x) y0 y1 y2
f ( x)
f1
求次数不超过3的多项式 P3 ( x) 使满足插值条件:
分析
P3 ( p'3
xi ) ( x1
yi ,(i ) f '1
0,1,2)
已知 ( x0 , y0 ), ( x1, y1 ), ( x2 , y2 ) 三点,由牛顿插值多项式,
埃尔米特插值
即:x x j ( j i)是i (x)的二重根
因为i (x)得次数是2n 1
n
则:i (x) (ax b) (x x j )2 j0 ji
a和b由以下两式确定:
i (xi ) 1 i(xi ) 0
ii((xxj
) 0,j j ) 0,j
A 59 , 360
B 161 360
例5:给定如下数据表,求次数不高于3 次的代数多项式。
xi f(xi)
f (xi )
f ( xi )
x0 f(x0)
f ( x0 )
f (x0 )
x1 f(x1)
提示 H3 (x) H2 (x) A(x x0 )2 (x x1)
又:H
2
(0)
0
则:c 1
则:R2 (x) x(x 1)
则:H2 (x) L1(x) R2 (x) x2
再增加:
xi
1
yi
1
求 : H3(x),其中H3(x)满足:
xi
01
f(xi) 0
1
f (xi )
0
1
:H3(x) = H2 (x) + R3(x)
R3(0) = 0 其中:R3(1) = 0
例6:给定如下数据表,求首项系数为1 的4次的代数多项式。
xi
ab
f(xi) 0
f (xi )
0
0
f ( xi ) 0
提示 H3(x) H2 (x) c(x a)3
H2 (x) 0
xi
ab
f(xi) 0
f (xi )
0
0
f ( xi ) 0
埃尔米特插值多项式练习题
埃尔米特插值多项式练习题埃尔米特插值多项式练习题埃尔米特插值多项式是一种用于逼近函数的方法,它不仅可以通过给定的函数值来逼近函数的值,还可以通过给定的导数值来逼近函数的导数值。
在数值计算和插值问题中,埃尔米特插值多项式是一种非常有用的工具。
假设我们有一个函数f(x),我们想要通过给定的函数值和导数值来逼近这个函数。
埃尔米特插值多项式可以通过以下步骤来求解:1. 首先,我们需要确定插值点。
插值点是我们已知的函数值和导数值的点。
通常,我们选择一组等距的插值点,以便于计算。
2. 接下来,我们需要构建拉格朗日插值多项式。
拉格朗日插值多项式是通过给定的函数值来逼近函数的值的多项式。
它可以通过以下公式来计算:L(x) = Σ [ f(xi) * Li(x) ] (i=0 to n)其中,Li(x)是拉格朗日基函数,它可以通过以下公式来计算:Li(x) = Π [ (x - xj) / (xi - xj) ] (j=0 to n, j ≠ i)这样,我们就可以得到拉格朗日插值多项式L(x)。
3. 接下来,我们需要构建埃尔米特插值多项式。
埃尔米特插值多项式是通过给定的函数值和导数值来逼近函数的多项式。
它可以通过以下公式来计算:H(x) = Σ [ f(xi) * Hi(x) + f'(xi) * Hi'(x) ] (i=0 to n)其中,Hi(x)是埃尔米特基函数,它可以通过以下公式来计算:Hi(x) = [ 1 - 2 * (x - xi) * Li'(xi) ] * (Li(x))^2Hi'(x)是埃尔米特基函数的导数,它可以通过以下公式来计算:Hi'(x) = (x - xi) * (Li(x))^2这样,我们就可以得到埃尔米特插值多项式H(x)。
通过以上步骤,我们可以得到一个逼近函数f(x)的埃尔米特插值多项式H(x)。
这个多项式可以在给定的插值点上非常精确地逼近函数的值和导数值。
第三章(二) 埃尔米特-样条插值法
2
x x1 x x 0 h1 ( x ) 1 2 x x . x1 x 0 1 0
2
设
x x1 g 0 (x) a(x x0 ) , x 0 x1
2
∵g0(x0)=g0(x1)=0, g'0(x1)=0
据用得越多越好,解决这一矛盾的办法就是改用分段低次插值。
所谓分段低次插值就是用分段多项式来代替单个高阶多项式
作插值,即先把整个插值区间分成若干个小区间,然后在每个子 区间上分别用低次插值多项式(如线性插值或抛物线插值等), 然后再将每个子区间上的插值函数拼接在一起,作为整个插值区 间上的插值函数。
• 分段线性插值
2
2
x x1 x x 0 h1 ( x ) 1 2 . x1 x 0 x1 x 0
2
2
x x1 x x0 g 0 (x) (x x0 ) , ( x ) ( x x1 ) g1 . x 0 x1 x1 x 0
, [ 1,1]. 0 ( x ) ? x L1
将[−1,1]10等分,步长 h = 2/10 = 0.2, 取节点 xi = −1 + 0.2i, i =
0,1,2,…,10。以 (xi, f(xi))为插值点,构造L10(x):
L1 0 ( x )
) f ( x i ) li ( x )
先构造 h0(x), 设
由h0(x0) = 1,
x x1 h0 ( x ) (a bx ) . x 0 x1
2
∵h0(x1)=h'0(x1)=0
数值分析2-4(埃尔米特插值)
在数值分析中的应用
函数逼近
埃尔米特插值可以用于逼近复杂的函数,为 数值分析中的函数近似提供有效的方法。
数值积分
利用埃尔米特插值,可以将复杂的积分转化 为简单的数值计算,提高数值积分的精度和 效率。
THANKS
度和可靠性。
埃尔米特插值的优点和局限性
优点
埃尔米特插值多项式具有数值稳定性、 计算效率高、适用范围广等优点,在 实际应用中具有广泛的应用价值。
局限性
埃尔米特插值多项式对于复杂函数和 多维数据的插值效果可能不够理想, 需要结合其他算法进行优化。
05
埃尔米特插值的应用实例
一维数据的插值
预测股票价格
利用埃尔米特插值方法,可以根据历史 股票数据,预测未来的股票价格走势。
VS
气象预报
在气象学中,埃尔米特插值可以用于填补 气象观测数据的空缺,提高气象预报的准 确度。
多维数据的插值
地理信息系统
在地理信息系统中,埃尔米特插值可以用于生成高精度的地形地貌模型,为土地利用、城市规划等领 域提供支持。
环境监测
03
埃尔米特插值的实现方法
构造插值多项式
01
02
03
确定插值点
选择一组已知的插值点, 这些点是数据点的坐标。
构造多项式
根据已知的插值点,构造 一个多项式,使得该多项 式在每个插值点处的函数 值为已知的函数值。
确定多项式的阶数
根据插值点的数量和所需 的插值精度,确定多项式 的阶数。
计算插值节点的位置
二次插值的优点是对于非线性数据更 为准确,但计算量相对较大,且需要 更多的已知数据点。
五种插值法的对比研究毕业论文
五种插值法的对⽐研究毕业论⽂题⽬:五种插值法的对⽐研究xxx⼤学本科⽣毕业论⽂开题报告表论⽂(设计)类型:A—理论研究;B—应⽤研究;C—软件设计等;五种插值法的对⽐研究 (3)⼀插值法的历史背景 (5)⼆五种插值法的基本思想 (5)(⼀)拉格朗⽇插值 (5)(⼆)⽜顿插值 (6)(三)埃尔⽶特插值 (7)(四)分段线性插值 (7)(五)样条插值 (8)三五种插值法的对⽐研究 (9)四插值法在matlab中的应⽤ (15)五参考⽂献 (17)五种插值法的对⽐研究摘要:插值法是数值分析中最基本的⽅法之⼀。
在实际问题中碰到的函数是各种各样的,有的甚⾄给不出表达式,只提供了⼀些离散数据,例如,在查对数表时,要查的数据在表中找不到,就先找出它相邻的数,再从旁边找出它的修正值,按⼀定关系把相邻的数加以修正,从⽽找出要找的数,这种修正关系实际上就是⼀种插值。
在实际应⽤中选⽤不同类型的插值函数,逼近的效果也不同。
本⽂详细介绍了拉格朗⽇插值、⽜顿插值、分段插值、埃尔⽶特插值、样条插值法,并从五种插值法的基本思想和具体实例⼊⼿,探讨了五种插值法的优缺点和适⽤范围。
.通过对五种插值法的对⽐研究及实际应⽤的总结,从⽽使我们在以后的应⽤中能够更好、更快的解决问题。
关键词:插值法对⽐实际应⽤Abstract: interpolation numerical analysis of one of the most basic method. Function is a wide variety of practical problems encountered, and some even not give expression provides only a number of discrete data, e.g., in the the checker number table, to check the data is not found in the table , first find out the number next to it, from the side to find the correction value, a certain relationship between the adjacent number to be amended, and to find to find the number, this correction relationship is actually an interpolation . Selection of different types of interpolation functions in practical applications, the approximation of the effect is different. This paper describes the Lagrange interpolation, Newton interpolation, piecewise interpolation, Hermite interpolation, spline interpolation, and start from the basic idea of the five interpolation and specific examples to explore the advantages of the five interpolation shortcomings and the scope of application. The comparative study and practical application of the summary by the the five interpolation method of application so that we can better and faster to solve the problem.引⾔在许多实际问题中,常常需要根据⼀张函数表推算该函数在某些点上的函数值,或要求解决与该函数有关的⼀些问题,例如分析函数的性态,求导数、积分、零点与极值点等。
埃尔米特插值法
埃尔米特插值法埃尔米特插值法是一种利用已知数据点构建插值函数的方法,它可以通过给定的数据点来预测未知数据点的值。
这种方法是由德国数学家埃尔米特在19世纪末发明的,因此得名。
埃尔米特插值法的基本思想是利用已知数据点和其导数来构造一个多项式函数,该函数可以完美地通过这些数据点,并在每个点处具有相同的导数。
这样,就可以使用该多项式函数来计算任意位置处的函数值和导数。
具体而言,假设我们有n个数据点(xi,yi),其中i=0,1,…,n-1。
我们还假设我们已经知道了每个数据点处的导数yi'。
那么,我们可以通过以下方式构造一个n次多项式函数p(x):p(x) = Σ[i=0,n-1] Li(x)yi + Σ[i=0,n-1] Mi(x)yi'其中Li(x)和Mi(x)分别为拉格朗日插值基函数和埃尔米特插值基函数。
拉格朗日插值基函数Li(x)定义为:Li(x) = Π[j=0,j≠i,n-1] (x-xj)/(xi-xj)而埃尔米特插值基函数Mi(x)定义为:Mi(x) = [1-2(xi-x)/hi]L^2i(x) + (x-xi)/hi L'i(x)其中hi为第i个数据点的步长,即xi+1-xi,L'i(x)为Li(x)的一阶导数。
使用这些基函数,我们可以计算任意位置x处的函数值p(x)。
此外,我们还可以通过求导来计算p(x)在任意位置x处的导数。
具体而言,p(x)在位置x处的导数可以表示为:p'(x) = Σ[i=0,n-1] Mi'(x)yi + Σ[i=0,n-1] Mi(x)yi'其中Mi'(x)为Mi(x)的一阶导数。
需要注意的是,在实际应用中,我们通常不知道每个数据点处的精确导数值。
因此,我们需要根据已知数据点推断出这些导数值。
一种常见的方法是使用差分逼近法来估计数据点处的导数值。
总之,埃尔米特插值法是一个强大而灵活的插值方法,它可以用于各种不同类型的数据集,并且能够提供高精度和高效率的预测结果。
埃尔米特插值
内江师范学院数学与信息科学学院 吴开腾 制作
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 ,
第三章 插值法 Hermite插值
(((xxxxxjjj11))222((xx xxjj11))22 ((xx ((xxjj xxjj11))22((xxjj xxjj11))22 ((
xx jj
xxnn
))22 xxnn
))22
(1 c( x x j )) l(2j x)
f ( x)
f1
求次数不超过3的多项式 P3 ( x) 使满足插值条件:
分析
P3 ( p'3
xi ) ( x1
yi ,(i ) f '1
0,1,2)
已知 ( x0 , y0 ), ( x1, y1 ), ( x2 , y2 ) 三点,由牛顿插值多项式,
可确定2次多项式,在此基础上,增加了节点,则增加三次项即
其中C为待定常数, l j ( x) (5.3)式求导,得
n
i0 i j
x xi x j xi
(5.3)
j
(
x)
cl
2 j
(
x)
2[c(
x
x
j
)
1]l
j
(
x)l j
(
x)
由 j ( x j ) 0,得
0
j
(
x
j
)
cl
2 j
(
x
j
)
2l j ( x j
)lj ( x j
(5.8)
mk 1
H3 ( x) ykk ( x) yk1 k1( x) mk k ( x) mk1k1( x) (5.9)
其中
k ( x)
埃尔米特插值多项式
埃尔米特插值多项式简介埃尔米特插值多项式(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.数值计算和近似:埃尔米特插值多项式可以用于通过已知的函数值和导数值来近似计算未知的函数值,用于求解数值问题。
2.4埃尔米特插值
R( x) = f ( x) − P( x) = ( m + 1)! ( x − x0 )
其余项为
的值。 一般只考虑 f 与f ’的值。 的值
一般 , k次Hermite插值多项式H k ( x )的次数k如果太高会影响 收敛性和稳定性( Runge现象),因此k不宜太大 , 仍用分段插值
两点三次Hermite插值
2.4 Hermite插值法 插值法
设f ( x)在节点 a ≤ x0 , x1 ,⋯, xn ≤ b处的函数值为y0 , y1 ,⋯, yn , [ 设P( x )为f ( x )的在区间 a , b]上的具有一阶导数的插值函数
(1) 若要求P( x )在[ a , b]上具有一阶导数(一阶光滑度)
所以,两点三次Hermite插值的余项为
f ( 4 ) (ξ ) R3 ( x ) = ( x − x0 )2 ( x − x1 )2 4!
x0 ≤ ξ ≤ x1
以上分析都能成立吗?
当f ( 4 ) ( x )在[ x0 , x1 ]上存在且连续时 , 上述余项公式成立
例.
已知f ( x )在节点1,处的函数值为f (1) = 2 , f ( 2 ) = 3 2 f ( x )在节点1,处的导数值为f ′(1) = 0 , f ′( 2 ) = −1 2
因此ϕ (t )至少有5个零点
均是 二重根
i = 0 ,1
连续使用4次Rolle定理,可得, 至少存在一点ξ ∈ [ x0 , x1 ] 使得
ϕ ( 4 ) (ξ ) = 0
即
ϕ ( 4 ) (ξ ) = f ( 4 ) (ξ ) − 4! K ( x ) = 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(x0 x1)4
0.
0 1 2x1 3x12
其解存在唯一, 解
出 a0, a1, a2, a3, 代 入即得 H3(x).
基函数法
类似于拉格朗日插值多项式的构造手法,我们可以通 过插值基函数作出 。
设 H3 (x) h0 (x) y0 h1(x) y1 g0 (x)m0 g1(x)m1
Hermite插值余项定理
定理 假设函数f (x)在 x [a,b]上具有(2n+1)阶连续导数,在 x [a,b]
内存在(2n+2)阶导数,那么对于x [a,b],必定存在一点 (a,b) 使
得下式成立:
R(x)
f (x)
p2n1 (x)
1f (2n 2)!
(2n2) ( )
根据要求的条件
H 3(x0 ) h0 (x0 ) y0 y0 有 h0 (x0 ) 1, h1(x0 ) 0, g0 (x0 ) 0, g1(x0 ) 0 H 3 (x1) h1(x1) y1 y1 有 h0 (x1) 0, h1(x1) 1, g0 (x1) 0, g1(x1) 0
x0
1
x1
, l1(x1)
x1
1
x0
.
于是,三次Hermite插值的基函数可表为
h0 (x) 1 2l0 (x0 )(x x0 )l02 (x),
h1(x) 1 2l1(x1)(x x1)l12 (x),
g0 (x) (x x0 )l02 (x), g1(x) (x x1)l12 (x).
H 2n1(x) f (xi ), H 2n1(x) f (xi ), i 0,1, 2, , n,
则称 H2n+1(x) 为 f (x) 关于节点{xi} (i = 0,1,2,…,n)的Hermite插 值多项式。
记 f (xi) = yi, f '(xi) = mi, i = 0,1,2,…,n .
aa00 aaa111xx01
a2 x02 a3x03 a2 x12 a3x13 2a2 x0 3a3x02
y0 y1 m0
a1 2a2 x1 3a3x12 m1
1 x0 x02 x03
1 0
x1 1
x12 2x0
x13 3x02
x x1 x0 x1
2
, g1(x)
(x
x1
)
x x0 x1 x0
2
.
例1 给定 f (− 1)=0, f (1)=4, f '(− 1)=2, f '(1)=0, 求H3(x), 并计算 f (0.5).
解 x0 = − 1, x1 = 1,
H3(x) h0 (x) 0 h1(x) 4 g0(x) 2 g1(x) 0
函数值
导数值
x0
x1
x0
x1
h0(x)
1
0
0
0
h1(x)
0
1
0
0
g0(x)
0
0
1
0
g1(x)
0
0
0
1
或简记为
hi (x j ) ij , hi(x j ) 0, i, j 0,1 gi (x j ) 0, gi (x j ) ij , i, j 0,1.
先构造 h0(x), 设
h0
(x)
(a
bx)
x x1 x0 x1
2
.
∵h0(x1)=h'0(x1)=0
由h0(x0) = 1, h0 (x0 ) 0,
同理 设
h0
(x)
1
2
x x0 x0 x1
x x1 x0 x1
2
.
h1 ( x)
1
2Hale Waihona Puke x x1 x1 x0
x x0 x1 x0
2
.
g
0
(
x)
a(
x
x0
)
x x0
x1 x1
2
,
∵g0(x0)=g0(x1)=0, g'0(x1)=0
由 g'0(x0) =1, 得 a =1。所以
g0
(x)
n
(x xj )2
j 0
(3.4-11)
h0
(x)
1
2
x x0 x0 x1
x x1 x0 x1
2
.
h1 ( x)
1
2
x x1
x1 x0
x x0 x1 x0
2
.
g0 (x)
(x
x0
)
★ 三次Hermite插值的构造
存在性 给定 f (xi) = yi, f '(xi) = mi, i = 0, 1. 设
H 3 (x) a0 a1x a2 x 2 a3x3,
代入插值条件: H3(xi) = f(xi), H'3(xi) = f '(xi), i =0,1,得
H 3 (x0 ) m0
有 h0 (x0 ) 0, h1(x0 ) 0, g0 (x0 ) 1, g1(x0 ) 0
H 3 (x1) m1 有 h0 (x1) 0, h1(x1) 0, g0 (x1) 0, g1(x1) 1
每个节点上对应两套基函数:x0: h0(x), g0(x); x1: h1(x), g1(x), 满足
3.4.1 埃尔米特(Hermite) 插值
在某些问题中,为了保证插值函数能更好地逼近原函数 ,不仅要求两者在节点上有相同的函数值,而且要求在节点 上有相同的导数值。这类插值称为Hermite插值。
★ Hermite插值描述: 设 f (x)具有一阶连续导数,已知节点上的函数值和导数
值,即 (xi, f (xi)), (xi, f ‘(xi)), i = 0, 1, 2, …, n, 若存在至多 2n+1次多项式 H2n+1(x) 满足
(x
x0
)
x x1 x0 x1
2
,
g1(x)
(
x
x1)
x x1
x0 x0
2
.
注:我们知道,过 x0, x1 两点的Lagrange插值基函数为
l0 ( x)
x x1 x0 x1
, l1(x)
x x0 x1 x0
.
显然, l0 (x0 )