埃尔米特插值

合集下载

1.6 埃尔米特插值

1.6 埃尔米特插值

(2)基函数方法
基函数方法:
0 (x0 ) 1, 0 (x1 ) 0 (x0 ) 0 1 (x1 ) 1, 1 (x0 ) 1(x0 ) 0 0 (x0 ) 1, 0 (x0 ) 0 (x1 ) 0
2
0
( x)
1
x x1
x0 x0
2
1 ( x)
2
x x0 x1 x0
0
(
x)
(
x
x0 )(x (x1 x0
)2
x1
)
第三种解法
(3)待定系数法
p2(x) ax2 bx c p2(x) 2ax b
aaxx1022
bx0 bx1
c c
y0 y1
2ax0 b y0
题4
不同插值节点,同一个插值节点上仅有函数值(或 者一阶导数值)
设x0 x2,求作次数 2的多项式p(x),使满足条件 p(x0 ) y0, p(x1) y1, p(x2 ) y2
由此可导出(29)式
2,数学描述
设在节点 a x0 x1 xn b上,
y j f (x j ) , mj f (x j ) ( j 0, 1, , n)
要求插值多项式 H (x) 满足条件 H (x j ) y j , H (x j ) m j ( j 0, 1, , n)
Hermite插值问题常用解法
(1)基函数构造法 (2)待定系数法 (3)基于承袭性
根据有函数值的插值节点条件构造插 值多项式(泰勒,拉格朗日,牛顿等), 再结合其他插值节点的导数条件构造一个 附加项,由待定系数法给出系数,从而得 到所求插值多项式
例:按下表求Hermite插值多项式
解法一:由于插值条件有5

埃米尔特插值法

埃米尔特插值法

埃米尔特插值法
欧几里德·埃米尔特插值法(Euler-Laplace Interpolation)又称为埃米尔特插值,是指在离
散序列中查找未知值的技术,主要用于在数据序列中实现多项式插值,发源于拉普拉斯数
学家卡尔·拉普拉斯提出的奥埃尔-拉普拉斯插值的特殊情况。

欧几里德·埃米尔特插值是一种把离散数据形成一个多项式曲线,使其能够介入更多数据点,来插值计算未知值的方式,它比一般的数值插值更加高效,也更加准确。

使用欧几里德·埃米尔特插值法时,需要先计算出拉普拉斯差值的斜的系数。

在计算拉普
拉斯差值的斜的系数时,与格雷斯特插值和牛顿插值相比,欧几里德·埃米尔特插值的计
算量相对小。

当求出拉普拉斯差值斜系数后,即可使用欧几里德·埃米尔特插值法进行插值计算。

埃米
尔特插值法最大的优点在于它可以在基于一定步长的多项式曲线下,精确计算未知点的值,同时也可以使插值结果的计算的效率更高。

总的来说,欧几里德·埃米尔特插值法具有计算简便以及精度高的特点,是离散数据插值
计算中使用非常广泛的一种技术,是在查找数据时重要的一种选择。

埃尔米特插值

埃尔米特插值
2
(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

埃尔米特(Hermite)插值

埃尔米特(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; }。

2.4埃尔米特插值

2.4埃尔米特插值
P ( x) = P2 ( x ) + A( x − x0 )( x − x1 )( x − x2 )
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)插值

实验二埃尔米特(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; }。

埃尔米特插值

埃尔米特插值

即: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

第三章 插值法 Hermite插值

第三章 插值法 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)时,

数值分析2-4(埃尔米特插值)

数值分析2-4(埃尔米特插值)

f ( xi )
提示 H 4 ( x) H 2 ( x) ( x a) ( x c)
3
H 2 ( x) 0
xi
f ( x i )
a
0 0 0
b
0
f(xi)
f ( xi )
进一步讨论第2列中的“0”上移和下移情 况下如何求解?
Hermite插值的方法:
(1)基函数方法
例2. 已知:4个条件
xi yi = f(xi) y i f ( xi )
x0 y0
y0
x1 y1
y1
求:一个次数不超过3的多项式H3(x) 注意用基函数的方法
插值余项为:
f ( 4) ( ) R( x ) f ( x ) H 3 ( x ) ( x x0 ) 2 ( x x1 ) 2 4!
f ( x i )
xi f(xi)
0 0
1 1
2 2 0
3 3
例 4 :给定如下数据表,求次数不高于 5 次的代数多项式。
f ( x i )
xi f(xi)
-1 10 1
0 14
1 16 0.1
2 15
解: 先构造插值于四个函数值的插值多项式
用Newton插值法可得:
N 3 ( x ) f ( x0 ) f [ x0 , x1 ]( x x0 ) f [ x0 , , x 3 ]( x x0 )( x x 2 ) 1 10 4( x 1) ( x 1) x ( x 1) x ( x 1) 6 19 1 3 2 14 x x x 6 6
则可求得
1 (0) 0, 1 (1) 1, 1 (0) 0 0 (0) 0, 0 (1) 0, 0 (0) 1

第2章-插值法(Hermite插值,样条插值)

第2章-插值法(Hermite插值,样条插值)
§
2.5 埃尔米特插值法
Newton插值和Lagrange插值虽然构造比较简单,但都存 在插值曲线在节点处有尖点,不光滑,插值多项式在节 点处不可导等缺点
问题的提出: 不少实际问题不但要求在节点上函数值相等,而且还要 求它的导数值也相等(即要求在节点上具有一阶光滑度), 甚至要求高阶导数也相等,满足这种要求的插值多项式就是 埃尔米特(Hermite)插值多项式。下面只讨论函数值与导数 值个数相等的情况。
由 j ( x j ) 1 ,可得
Cj
1 ( x j x0 ) 2 ( x j x1 ) 2 ( x j x j 1 ) 2 ( x j x j 1 ) 2 ( x j xn ) 2

j ( x) ( 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
( x x j )l j 2 ( x)
2016/8/14 6
(ii)由条件(1)可知,x0 , x1,, x j 1, x j 1,, xn都是 j ( x)的二重根,令
j ( x) C j (ax b)( x x0 ) 2 ( x x1 ) 2 ( x x j 1 ) 2 ( x x j 1 ) 2 ( x xn ) 2
17

x x1 x x0 2 0 ( x) (1 2l1 ( x)) l0 ( x) 1 2 x x x0 x1 1 0

埃尔米特差值多项式误差公式证明

埃尔米特差值多项式误差公式证明

埃尔米特差值多项式误差公式证明埃尔米特差值多项式误差公式是用于估计在给定一组节点和函数值的情况下,使用埃尔米特差值多项式逼近一个函数时的误差。

它的公式如下:R(x) = f(x) - P(x),其中R(x)是真实函数f(x)和埃尔米特差值多项式P(x)之间的误差。

为了证明这个公式,我们需要首先了解埃尔米特插值多项式的定义和性质。

埃尔米特插值多项式是一个特殊的插值多项式,它不仅要求通过给定的节点,还要求在每个节点处给定的函数值的导数也要与真实函数的导数相匹配。

假设我们有一组节点{x0, x1, ..., xn},并且在每个节点处给定了函数值和导数值{f(x0), f'(x0), f(x1), f'(x1), ..., f(xn), f'(xn)}。

埃尔米特插值多项式P(x)的定义如下:P(x) = Σ[i=0 to n] [f(xi) ·ωi(x)] + Σ[i=0 to n] [f'(xi) ·φi(x)],其中ωi(x)是拉格朗日插值基函数,而φi(x)是埃尔米特插值基函数。

接下来,我们可以使用这个定义来推导出埃尔米特差值多项式误差公式。

我们先假设函数f(x)在给定节点的区间上具有高阶导数,然后根据泰勒展开定理,我们可以得到:f(x) = P(x) + R(x),其中R(x)是一个余项,表示使用埃尔米特插值多项式逼近函数f(x)时的误差。

我们再对余项R(x)进行展开,得到:R(x) = Σ[i=0 to n] [(f(xi) - f[xi,xi]) ·ωi(x)] + Σ[i=0 to n] [(f'(xi) - f'[xi,xi]) ·φi(x)],其中f[xi,xi]和f'[xi,xi]分别代表f(x)和f'(x)在节点xi处的高阶导数。

然后,我们可以将这个余项R(x)进行进一步的变形和化简,最终得到:R(x) = Π[i=0 to n] (x - xi)^2 ·[f"(ξi) / 2!],其中ξi是位于xi和x之间的某个值,f"(ξi)表示函数f(x)的二阶导数在该点的取值。

Hermite插值多项式

Hermite插值多项式

( xi1
4
xi )2
因此
|
Ri ( x) |
(
x i
+1
8
xi )2
max |
xi x xi1
f ( x) |
于是在[a,b]上,| R( x) ||
f
( x)
L1( x) |
h2 8
M2
优点:计算简单; 适用于光滑性要求不高的插值问题。
缺点:分段插值函数只能保证连续性, 失去了原函数的光滑性。
(1) L1(x) 在每个子区间[xi , xi+1](i=0,1,2,,n-1)上是
线性插值多项式;
(2) L1(xi ) yi , i=0,1,2,…,n (3) L1(x) 在区间[a , b]上连续; 则称 L1(x)是f(x)在[a ,b]上的分段线性插值函数。
2.分段线性插值函数的表达式
2
两点三次Hermit插值(续1)
5
直接设 H3 (x) ax3 bx2 cx d
待定系数法求出,但不易推广到高次。
3
基函数法:
令H3(x) y00 (x) y11(x) y00 (x) y11(x)
为使H3(x)是一个次数3的多项式且满足插值条件
H3 (xi ) yi , H3(xi ) yi i 0,1
并在每个 xi , xi子1区间上构造插值多项式,然后把 它们装配在一起,作为整个区间 上a,的b插值函数。
二、分段线性插值
1.问题的提法
定义 设f(x)是定义在[a,b]上的函数,在节点 a= x0< x1<x2<…<xn-1<xn=b,
的函数值为 y0 , y1 ,y2 ,…yn-1 ,yn ,若函数 L1(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

埃尔米特插值

埃尔米特插值

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

埃尔米特插值

埃尔米特插值
H '( xi ) = fi ' (i = 0,1,L , n)
内江师范学院数学与信息科学学院 吴开腾 制作
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 ,

54第四节 Hermite插值

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)插值
一、 埃尔米特插值多项式
为了使插值函数能更好的切合原来的函数,许多 问题不但要求节点上的函数值相等,还要求导数值相 同,甚至高阶导数也相等,这类插值问题称为埃尔米 特插值。

第三章 3重节点差商与埃尔米特插值

第三章 3重节点差商与埃尔米特插值

§3 重节点差商与埃尔米特插值摘要:本节介绍Hermite 插值的Newton 形式及其余项表示。

这个问题涉及一个重要的概念就是重节点差商,它是一般差商的极限形式。

2.3.1埃尔米特(Hermite)插值 设是[a,b]中不同的s 个节点,是s个正整数且,要找一个n 次多项式,对于[a,b]上充分光滑的函数f(x),满足条件()()()(),0,1,2,,1,1,2,,.k k ii i P y f y k m i s ==-=问题:● 这样的多项式存在且唯一吗? ● 的表达式怎样求? 一、 重节点差商A 、 重节点差商()00001,,,,n f x x x x +?考虑()102010121lim ,,,,n n n x x x x x x f x x x x ++→→→?假设f(x)存在n 阶连续导数,根据定理2.4知()()(){}{}11!,,,min max ,nf n i i n iif x x x x ξξ+=≤≤当时,有()()()()()0110!!,,,,1,2,,1nnf x f n i n n f x x x x i n ξ+=→→=+。

1,,s y y 12,,,s m m m 11s i i m n ==+∑()P x ()P x ()P x 0,1,2,,1i x x i n →=+定理2.3.1 设f(x)在(a,b)中连续且有直到n 阶连续导数,若()0,x a b ∈,则()102010121lim ,,,,n n n x x x x x x f x x x x ++→→→=()()0!nf x n 。

定义2.3 如果f(x)在x 0的邻域内连续且有n 阶连续导数,则定义()()102010()0001211(),,:lim ,,,,!n n n n x x x x n x x f x f x x f x x x x n ++→→+→==B 、 部分重节点差商()000051,,,,,,,n n f x x x x x x x +?分析:差商()121,,,,n n f x x x x +是n+1个节点11,,n x x +上的n 次插值多项式的首项n x 的系数,记()P x()()()()()()211111212222211111121111112221111111111121121212312323111,,,,1111()()()0(,)(,),0(,)(,),n n n n n n n n n n n n n n n n n n n n n x x x f x x x x f x x x x f x f x x x x x x x x x x x x x l x l x f x l x x l x x f x x l x x l x x f x x ---+++++---+++---==()()()()()1341343415155111111111111211212123123231341341511(,)(,),0()()1()()11()()()0(,)(,),0(,)(,),(,)(,)0()1()1n n n n n n n n n n n n n n l x x l x x f x x l x l x f x l x l x f x l x l x l x l x x l x x l x x l x x l x x l x x l x x l x x l x l x --+-++----+()()()34155111,()()n n n n n n n l x x l x l x l x l x --++()()()()()1111111211212112311231231123411234123415155111111()()()0(,)(,),0(,,)(,,),,(,,,)(,,,),,,0()()1()()1n n n n n n n n n l x l x f x l x x l x x f x x l x x x l x x x f x x x l x x x x l x x x x f x x x x l x l x f x l x l x f x -----+-++=()()()()()1111111211212112311231231123411234123415155111111()()()0(,)(,),0(,,)(,,),,(,,,)(,,,),,,0()()1()()1n n n n n n n n n n n n n n n l x l x l x l x x l x x l x x l x x x l x x x l x x x l x x x x l x x x x l x x x x l x l x l x l x l x l x -----+-++设0i x x ≠,考察下列极限()10203040123451lim ,,,,,,n x x x x x x x x f x x x x x x +→→→→()()()()()101001010010100101001515511111101001011()()()0()()0()/2!()/2!/2!()/3!()/3!/3!0()()1()()11()()()0()n nnn n n n n n n n nl x l x f x l x l x f x l x l x f x l x l x f x l x l x f x l x l x f x l x l x l x l x l -----+-++--''''''''''''''''''=''()()()()()0010100101001515511111()0()/2!()/2!/2!()/3!()/3!/3!0()()1()()1n nn n n n n n n n n n x l x l x l x l x l x l x l x l x l x l x l x l x l x ---+-++''''''''''''''''所以我们定义()000051,,,,,,,n n f x x x x x x x +=:()10203040123451lim ,,,,,,n x x x x x x x x f x x x x x x +→→→→进一步可以定义定义2.4 f(x)在[a,b]上足够光滑,(,),1,2,,,i y a b i s ∈=112(1)(1)()()11221,,1,,(,,,,,,,,,)lim (,,,,,,)s ss s s s k m kk m kk m m m f y y y y y y f x x x x →∞=:1122detdet ,s s B A B A B A ⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭称为重节点差商。

数值分析中的插值与拟合

数值分析中的插值与拟合

数值分析中的插值与拟合插值和拟合是数值分析中常用的技术,用于估计或预测数据集中缺失或未知部分的数值。

在本文中,我们将讨论插值和拟合的概念、方法和应用。

一、插值插值是通过已知数据点之间的连续函数来估计中间数据点的数值。

插值方法可以根据不同的数据和需求选择合适的插值函数,常用的插值方法包括拉格朗日插值、牛顿插值和埃尔米特插值。

1.1 拉格朗日插值拉格朗日插值是一种基于多项式的插值方法。

通过已知的n个数据点,可以构建一个n-1次的插值多项式。

这个多项式通过已知数据点上的函数值来准确地经过每一个点。

1.2 牛顿插值牛顿插值方法也是一种多项式插值方法,通过差商的概念来构建插值多项式。

差商是一个递归定义的系数,通过已知数据点的函数值计算得出。

牛顿插值可以通过递推的方式计算出插值多项式。

1.3 埃尔米特插值埃尔米特插值是一种插值方法,适用于已知数据点和导数值的情况。

它基于拉格朗日插值的思想,通过引入导数信息来逼近数据的真实分布。

埃尔米特插值可以更准确地估计数据点之间的值,并且可以保持导数的连续性。

二、拟合拟合是通过一个模型函数来逼近已知数据点的数值。

拟合方法旨在找到最适合数据集的函数形式,并通过最小化误差来确定函数的参数。

常见的拟合方法包括最小二乘法、多项式拟合和曲线拟合。

2.1 最小二乘法最小二乘法是一种常用的拟合方法,通过最小化数据点到拟合函数的误差平方和来确定最佳拟合曲线或曲面。

最小二乘法适用于线性和非线性拟合问题,可以用于拟合各种类型的非线性函数。

2.2 多项式拟合多项式拟合是一种基于多项式函数的拟合方法。

通过多项式的线性组合来近似已知数据集的数值。

多项式拟合可以通过最小二乘法或其他优化算法来确定拟合函数的系数。

2.3 曲线拟合曲线拟合是一种用曲线函数来逼近已知数据点的拟合方法。

曲线函数可以是非线性的,并且可以根据数据的特点进行选择。

曲线拟合可以通过优化算法来确定拟合函数的参数。

三、应用插值和拟合在数值分析中有广泛的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

同理: 1( x)为二次项式 1(0) 0 又: 1 (0) 0 则:x 0为 1( x)的二重根 则: 1( x) cx 又: 1(1) 1 则:c 1 则: 1( x) x 2 同理: 0 ( x) x(1 x)
2
插值余项为:
则对于一般情况: 已知:2n+2个条件 xi x0 x1 y i = f( x i ) y0 y1 yi ’= f ’ (xi) y0’ y 1’
… … …
xn yn yn’
求:一个次数不超过2n+1的多项式H2n+1(x)
则可以设:
H n ( x) y0 0 ( x) yn n ( x) y0 0 ( x) yn n ( x)
( x ) 1,j i i j 因为: i ( x j ) 0,j i且j 1,2,, n i ( x j ) 0, j 0,1,, n 其中:i 0,1,, n 即:x x j ( j i )是 i ( x)的二重根 因为 i ( x)得次数是2n 1 则: i ( x) (ax b) ( x x j ) 2
f ( x i )
xi f(xi)
-1 10 1
0 14
1 16 0.1
2 15
解: 先构造插值于四个函数值的插值多项式
用Newton插值法可得:
N 3 ( x ) f ( x0 ) f [ x0 , x1 ]( x x0 ) f [ x0 , , x 3 ]( x x0 )( x x 2 ) 1 10 4( x 1) ( x 1) x ( x 1) x ( x 1) 6 19 1 3 2 14 x x x 6 6
增加:
xi
yi
0

0
求:H 2 ( x), 其中H 2 ( x)满足:
xi f(xi)
f ( xi )
0 0 0
1 1
设:H 2 ( x) L1 ( x) R2 ( x) R2 (0) 0 则: R2 (1) 0 则:R2 ( x) c( x 0)( x 1) 有:H 2 ( x) x cx( x 1) 又:H 2 (0) 0 则:c 1 则:R2 ( x) x( x 1) 则:H 2 ( x) L1 ( x) R2 ( x) x
2
再增加:
xi
yi
1 1
求 : H3 ( x), 其中H3 ( x)满足:
xi f(xi) 0 0 0 1 1 1
f ( xi )
:H 3 ( x) = H 2 ( x) + R3 ( x) R3 (0) = 0 其中: R3 (1) = 0 R3 (0) = 0 :R3 ( x) = c = 0
其中 0 ( x ), 1 ( x ), 0 ( x ) 是基函数,满足
(1)都是2次多项式; (2)无关性 要求满足:
0 ( 0 ) 1, 0 ( 0 ) 0, 0 ( 1 ) 0 1( 0 ) 0,1 ( 0 ) 0,1( 1 ) 1
0 ( 0 ) 0,0 '( 0 ) 1,0 ( 1 ) 0
x0
x1
f(x0) f(x1) f ( x0 )
f ( x0 )
f ( xi )
提示 H 3 ( x) H 2 ( x) A( x x0 ) 2 ( x x1 )
例 6 :给定如下数据表,求首项系数为 1 的4次的代数多项式。 xi
f ( x i )
a
0 0 0
b
0
f(xi)
二、简单情形
情形1. 已知:3个条件
xi y i = f (x i )
yi f ( xi )
0 y0
y0
1 y1
求:一个次数不超过2的多项式H2(x)。
注意用 Lagerange 基函数的思想和方法: 各司其职。
解: 用Lagerange基函数的方法,设
0 ( x) H 2 ( x ) y0 0 ( x ) y1 1 ( x ) y0
j 0 j i n
a和b由以下两式确定: i ( xi ) 1 i ( xi ) 0
i ( x j ) 0,j 0,1,, n i ( x j ) 0,j i, j 0,1,, n ,j i i ( x j ) 1 其中:i 0,1,, n 则:x x j ( j i )是 i ( x)的二重根,x xi 是 i ( x)的一重根 则:i ( x) c( x xi ) ( x x j ) 2
二、两种简单情形
三、例题
一、 Hermite插值多项式的定义
插值条件中除函数值外,还有导数值(回顾 Taylor展开式, 是某点的导数值),如
已知:2n+2个条件
xi y i = f (x i )
yi f ( xi )
x0 y0
y0
x1 y1
y1
… … …
xn yn
yn
求:一个次数不超过2n+1的多项式H2n+1(x)
由于: 0 ( x)为二次项式,且有一个零点: ( 1 ) 0,则可以设: 1
0 ( x) ( x 1)( ax b)
0 (0) 1 将: 0 (0) 0 带入 0 ( x) ( x 1)( ax b),则: a 1 b 1 则
H3 ( x) H2 ( x) c( x a)
H 2 ( x) 0
3
xi
f ( x i )
a
0 0 0
b
0
f(xi)
f ( xi )
进一步讨论第2列中的“0”上移和下移情 况下如何求解?
n
Newton插值法:
N n ( x ) f ( x0 ) f [ x0 , x1 ]( x x0 ) f [ x0 ,, x n ]( x x0 )( x x n1 )
注:两种方法的结果相同(唯一性)
2.4
埃 尔 米 特 插 值
一、埃尔米特(Hermite)插值多项式
再构造插值于两个导数值的插值多项式
H 5 ( x ) N 3 ( x ) ( Ax B)( x 1) x( x 1)( x 2)
解出系数
59 A , 360
161 B 360
例 5 :给定如下数据表,求次数不高于 3 次的代数多项式。 xi f(xi)
f ( x i )
f ( ) 2 R( x ) f ( x ) H 2 ( x ) ( x x0 ) ( x x1 ) 3!
仿Lagrange 或 Newton 证明
情形2. 已知:4个条件
xi yi = f(xi) y i f ( xi )
x0 y0
y0
x1 y1
y1
求:一个次数不超过3的多项式H3(x)
练习:用 Lagerange 基函数的思想和方法: 各司其职。
插值余项为:
f ( 4) ( ) R( x ) f ( x ) H 3 ( x ) ( x x0 ) 2 ( x x1 ) 2 4!
仿Lagrange 或 Newton 证明
与Taylor公式进行比较,思考。
作业:
习题 14,16
*借助承袭性的思想插值:
三、例题
例 1 :给定如下数据表,求次数不高于 3 次的代数插值多项式。
xi f(xi)
f ( x i )
0 0 0
1 1 1
解:本题利用承袭性的思想 首先利用:
xi f(xi) 0 0 1 1
求出:L1(x)
x x1 x x0 L1 ( x) y0 y1 x x0 x1 x1 x0
复 习
前面我们已经学过两种插值方法: Langrange插值法和Newton插值法 特点
1)插值条件为函数值,即
xi y i = f (x i )
x0 y0
x1 y1
… …
xn yn
2)求一个次数不超过n的代数多项式
3)构造方法:采用节点基函数
Langrange插值法:
Ln ( x ) i 0 yi l i ( x )
例 2 :给定如下数据表,求次数不高于 3 次的代数插值多项式。
f ( x i )
xi f(xi)
0 0
1 0 0
2 1
例 3 :给定如下数据表,求次数不高于 4 次的代数插值多项式。
f ( x i )
xi f(xi)
0 0
1 1
2 2 0
3 3
例 4 :给定如下数据表,求次数不高于 5 次的代数多项式。
j 0 j i n
插值余项为:
Rn ( x) f ( x) H n ( x) f ( ) 2 (x x j ) (n 1)! j 0
( n 1) n
Hermite插值的方法:
(1)基函数方法
(2)*承袭性方法(见后例题)
注:当给出某一点处的函数值及其各阶 导数时,即为泰勒(插值)公式。
相关文档
最新文档