1.6 埃尔米特插值

合集下载

埃尔米特插值

埃尔米特插值

同理: 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

埃米尔特插值法

埃米尔特插值法

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

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

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

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

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

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

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

埃尔米特曲线插值

埃尔米特曲线插值

埃尔米特曲线插值
埃尔米特曲线插值是一种数学方法,用于通过给定的一组数据点来构建一个平滑的曲线。

这种插值方法常用于计算机图形学、工程建模和动画等领域。

埃尔米特曲线插值是由法国数学家Charles Hermite在19世纪提出的。

它的基本思想是通过给定的数据点来构建一个多项式曲线,使得曲线在给定的数据点上具有相同的函数值和导数值。

这样可以确保插值曲线能够光滑地通过给定的数据点,并且在数据点处的斜率也是符合要求的。

在埃尔米特曲线插值中,曲线的形状由给定的数据点和导数值决定。

通常情况下,我们需要给定每个数据点处的函数值和导数值。

这些导数值可以根据实际问题的需求来确定,比如可以根据相邻数据点的斜率来计算导数值,或者通过其他方法来估计。

利用埃尔米特曲线插值,我们可以构建出一个符合给定数据点的平滑曲线,而且在数据点处的斜率也是符合要求的。

这种插值方法在
计算机图形学和动画中得到了广泛的应用,比如可以用来绘制自然流畅的曲线和路径,或者用来模拟真实物体的运动轨迹等。

总的来说,埃尔米特曲线插值是一种非常有用的数学工具,它可以帮助我们通过给定的数据点来构建出平滑的曲线,并且满足特定的函数值和导数值要求。

通过合理地选择数据点和导数值,我们可以得到符合实际需求的插值曲线,从而在计算机图形学、工程建模和动画等领域中发挥重要作用。

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

埃尔米特插值法

埃尔米特插值法

埃尔米特插值法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)插值

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

艾米特插值

艾米特插值

若 αi ( x ) , βi ( x )( i = 0,1) ,满足
αi (x j ) = δi j
1 i = j = , , α i′( x j ) = 0 0 i ≠ j (i = 0 , 1)
β i ( x j ) = 0 , β i′( x j ) = ( x ) = ( − 2 l ( x j ) x + 1 + 2 x l ( x j )) l ( x )
' j ' j j 2 j
= (1 − 2 ( x − x j ) l ( x j )) l ( x )
' j 2 j
其中 l ( x j ) ∑ =
' j
n
k =0 k≠ j
由于
′ α 0 ( x 0 ) = 1, α 0 ( x 0 ) = 0 2.2 (2.6.2) ′ α 0 ( x1 ) = 0, α 0 ( x1 ) = 0 , (2.6.3) 2.3
由(2.6.3)可设
α0 ( x) = ( x − x1 ) a ( x − x0 ) + b ,
2.4 埃尔米特(Hermite)插值
• Hermite插值问题的提出 • 三次 Hermite 插值 • 2n+1 次Hermite 插值多项式 • Hermite插值余项 • 数值实例
一、 Hermite插值问题的提出
由于理论与实践的需要,在构造插值函数 时,不但要求在节点上函数值相等,而且还要求 它的(高阶)导数值也相等(即要求在节点上具 有一定的光滑度),使得插值函数与被插函数贴 近程度更好,满足这种要求的插值多项式就是 Hermite 插值多项式,有时也称为具有重节点插 值。
2
再由(2.6.2)可求得

Lagrange插值和hermite插值

Lagrange插值和hermite插值

第六章 插值与逼近一、Lagrange 插值问题定义:设函数f(x)在区间[a,b]有定义,在[a,b]上的n+1个不同的点x 0、x 1……x n 处的函数值y i =f(x i )已知,求一个至多n 次多项式P n (x)=a 0+a 1x+a 2x2+a 3x 3+a n x n使满足P n (x i )=f(x i ) (i=0,1……n ),则称P n (x)为插值多项式,式子中x 0、x 1……x n 称为插值节点,[a,b]称为插值区间。

P n (x)中有n+1个特定系数a n ,由P n (x i )=f(x i )得▲ 最简单的情形是只有2个点x 1、x 2,设P n (x)=a 0+a 1x,满足:将a 0和a 1的值带到插值多项中得到:VB 语句表示:p1=y0*(x-x1)/(x0-x1)+y1*(x-x0)/(x1-x0) 总结:2点1次插值也称线性插值。

▲ 讨论三个节点x 1、x 2、x 3的插值多项式:P n (x)=a 0+a 1x+a 2x2,满足:x- x 1X 0- X 1P 1(x)=y 0*+y 1*x- x 0 x 1- x 0a 0+a 1x 0+a 2x 02+a 3x 03+a n x 0n =y 0 a 0+a 1x 1+a 2x 12+a 3x 13+a n x 1n =y 1 ……a 0+a 1x n +a 2x n 2+a 3x n 3+a n x n n =y ny 1x 0- y 0x 1X 0- X 1a 0=从方程中解得:a 1=y 0- y 1 x 0- x 1Lagrange 插值:建立一个简单函数,使这个简单函数经过给定点。

a 0+a 1x 0 =y 0a 0+a 1x 1=y1a 0= x 1x 2 y 0/a+ x 0x 2 y 1/b +x 0x 1 y 2/c a 1= -( x 1+x 2 )y 0/a- (x 0+x 2) y 1/b –(x 0+x 1) y 2/c a 2= y 0/a+ y 1/b + y 2/c 其中a=( x 0- x 1)( x 0- x 2) b=( x 1- x 0)( x 1- x 2) c=( x 2- x 0)( x 2- x 1)3点2次(2阶)插值多项式为:p2=y0*(x-x1)*(x-x2)/((x0-x1)*(x0-x2))+y1*(x-x0)*(x-x2)/((x1-x0)*(x1-x2))+y2*(x-x0)*(x-x1)/((x2-x0)*(x2-x1))总结:二次插值就是用过三点(x 0,y 0)、(x 1,y 1)、(x 2,y 2)的抛物线来近似曲线y=f(x),因此也称三点二次插值为抛物线插值。

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

(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
题5
不同插值节点均有函数值,其中一插值节点具有一 阶导数值
求作次数 3的多项式p(x),使满足条件 p(xi ) yi , i 0,1,2 p(x1) y1
题6
一插值节点存在二阶导数,另一插值节点有函数值
求作次数 3的多项式p(x),使满足条件 p(x0 ) f (x0), p(x0 ) f (x0 ), p(x0 ) f (x0 ) p(x1) f (x1)
xj 0
1
2
个,故所求插值多项式的次数 不超过4。构造插值基函数
f (xj) 0
11
j (x)( j 0,1, 2)及 j (x)( j 0, 1), f '(xj ) 0
1
使它们满足:
(1) j (x) ( j 0,1, 2) 及 j (x) ( j 0, 1) 都是4次多项式;
(2)
由于
l
j
(x)
(x x0 )(x (x j x0 )(x j
x x
j1)(x x j1)(x j1)(x j x j1)(x j
xn ) xn
)
利用两端取对数再求导,得
于是
n
lj ( x j )
k 0
1 x j xk
,
k j
n
a j (x) 1 2(x x j )
k 0 k j
数。 • T8:三个插值节点,分别存在二阶导数,一阶导数和函
数值 • T9:两个插值节点,一个具有二阶导数,一个仅有一阶
导数值 • T10:两个插值节点,一个具有二阶导数,一个仅有二阶
导数值
1.6 埃尔米特插值
1,问题的提出
不少实际问题中,为了保证插值函数
能更好地密合原来的函数,不但要求在节 点上函数值相等,而且还要求节点上的导 数值也相等(即要求在节点上具有一阶光 滑度),甚至要求高阶导数也相等,满足 这种要求的插值称作切触插值,或称埃尔 米特(Hermite)插值。
2,数学描述
j
(
xk
)
0 1
k j k j
( j, k 0,1, 2)
' j (xk ) 0 (k 0,1, j 0,1, 2)
j (xk ) 0 (k 0,1, 2, j 0,1)
'
j
( xk
)
0 1
k j k j
( j, k 0,1)
1(x)
[a
b(x
1)]
(x1
x2 (x x0 )2
(x xn ) (xj xn )
aj
(xj
)
(ax j
b)l
2 j
(x
j
)
1,
aj (x j ) l j (x j )[al j (x j ) 2(ax j b)lj (x j )] 0,
整理得
ax j b 1; a 2l j ( x j ) 0.
解出
a 2lj (xj ), b 1 2x jlj (x j ).
x2(x 1)(x 2)
x2 ( x 3)2 4
P51, T2-10
• T2:同问题5 • T3:同问题6 • T4:不同插值节点,同一个插值节点上仅有函数值(或
者一阶导数值) • T5:不同插值节点均有函数值,其中一插值节点具有一
阶导数值 • T6:一插值节点存在二阶导数,另一插值节点有函数值。 • T7:一插值节点存在一阶导数,另一插值节点有二阶导
设在节点 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)
3,求解的思想
三次Hermite插值 (P29问题6)
对P29问题6的补充讲解
X x x0 x1 x0
据此可得 X 0 0,
X 1 1
因此,为了简化计算,题中设x0 0,x1 1
则插值基函数0 (x),1(x), 0 (x),1(x)分别满足条件 0 (0) 1, 0 (1) 0 (0) 0 (1) 0 1(1) 1, 1(0) 1(0) 1(1) 0 0 (0) 1, 0 (0) 0 (1) 0 (1) 0 1(1) 1, 1(0) 1(1) 1(0) 0
xj
1
xk
l
2 j
(
x).
同理,由于 j (x) 在 xi (i j) 处函数值与导数值均 为0,而 j (xj ) 0 ,故可设
j
(
x)
c(
x
x
j
)l
2 j
(
x).
又由于 j'(xj ) 1,有
'
j
(x
j
)
cl
2 j
(x
j
)
1.
即 c 1
故有
j
(
x)
(x
x
j
)l
2 j
(
x).
5,Hermite插值多项式是唯一的
6,Hermite插值多项式余项
7, Hermite插值的一般形式
例:P28 问题5
求作二次式p2 (x),使满足 p2 (x0 ) y0, p2 (x0 ) y0 , p2 (x1) y1
两种解法:
(1)基于承袭性
p1 ( x)
y0
y1 x1
y0 x0
(x
x0 )
p2 (x) p1(x) c(x x0 )(x x1)
2) (x1 x2源自)[ab(
x
1)]x2
(
x
2)
1(x) (2 x)x2 (x 2) x2 (x 2)2
类似可求出
2 (x)
x2 4
( x 1)2
因此所求Hermite插值多项式为
1(x) x2 (x 1)(x 2)
H (x) 1(x) 2(x) 1(x)
x2 (x 2)2 x (x 1)2 4
j (xk )
jk
0, 1,
j k, j k,
j (xk ) 0,
j
(
xk
)
0,
j (xk ) jk ( j, k 0, 1, , n),
4,确定基函数
lj
(x)
(x x0 ) (xj x0 )
(x xj1)(x xj1) (x j x j1)(x j x j1)
相关文档
最新文档