2.5 埃尔米特插值

68
1 2.5 埃埃埃埃埃埃 有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有有 . 有有有有有有有有有有有有有有埃埃埃埃埃埃埃埃埃 . 有有有有有有有有有有有有有有 有有有有有有有有有有有 .

description

2.5 埃尔米特插值. 有些实际的插值问题不但要求在节点上函数值相等,. 而且还要求对应的导数值也相等,甚至要求高阶导数也相等. 满足这种要求的插值多项式就是 埃尔米特插值多项式. 下面只讨论函数值与导数值个数相等的情况. 设在节点 上,. 问题是求插值多项式 ,. (5.1). 这里共有 个插值条件,可唯一确定一个次数不超过. 的多项式 ,. 满足条件. 其形式为. 现在仍采用求拉格朗日插值多项式的基函数方法. - PowerPoint PPT Presentation

Transcript of 2.5 埃尔米特插值

Page 1: 2.5   埃尔米特插值

1

2.5 埃尔米特插值 有些实际的插值问题不但要求在节点上函数值相等,

下面只讨论函数值与导数值个数相等的情况 . 满足这种要求的插值多项式就是埃尔米特插值多项式 . 而且还要求对应的导数值也相等,甚至要求高阶导数也相等 .

Page 2: 2.5   埃尔米特插值

2

),,,1,0(,)(,)( njmxHyxH jjjj (5.1)

这里共有 个插值条件,可唯一确定一个次数不超过22 n

的多项式 ,12 n )()(12 xHxH n

),,,1,0()( njxfm jj 问题是求插值多项式 ,)(xH

设在节点 上, ),( jj xfy bxxxa n 10

.)( 12121012

nnn xaxaaxH

现在仍采用求拉格朗日插值多项式的基函数方法 .

满足条件

其形式为

Page 3: 2.5   埃尔米特插值

3

,,1,,0

)(kjkj

x jkkj

将满足条件( 5.1 )的插值多项式 写成用插值基函数表示的形式

)()(12 xHxH n

.)]()([)(0

12

n

jjjjjn xmxyxH (5.3)

先求出 个插值基函数 及 ,)(xj ),,1,0()( njxj 22 n

每一个基函数都是 次多项式,12 n 且满足条件;0)( kj x

,0)( kj x jkkj x )(

(5.2)

).,,1,0,( nkj

Page 4: 2.5   埃尔米特插值

4

令 ),()()( 2 xlbaxx jj

由条件( 5.2 ),有 ,1)()()( 2 jjjjj xlbaxx

,0)]()(2)()[()( jjjjjjjjj xlbaxxalxlx

由插值基函数所满足的条件( 5.2 ),有 ),,1,0(,)(,)( 1212 nkmxHyxH kknkkn

下面的问题就是如何求出这些基函数 及 )(xj ),(xj

利用拉格朗日插值基函数 ).(xl j

Page 5: 2.5   埃尔米特插值

5

解出 ).(21),(2 jjjjj xlxbxla

由于 ,

)())(()()())(()(

)(110

110

njjjjjj

njjj xxxxxxxx

xxxxxxxxxl

整理得

.0)(2;1

jj

j

xlabax

Page 6: 2.5   埃尔米特插值

6

于是 ).()1)(21()( 2

0

xlxx

xxx j

n

jkk kj

jj

(5.4)

两端取对数再求导,得 ,1)(

0

n

jkk kj

jj xxxl

同理,可得 ).()()( 2 xlxxx jjj (5.5)

Page 7: 2.5   埃尔米特插值

7

可以证明满足条件( 5.1 )的插值多项式是惟一的 . 用反证法,假设 及 均满足条件( 5.1 ),)(12 xH n )(12 xH n

)()()( 1212 xHxHx nn

这样, 有 重根,但 是不高于 次的多 项式,

)(x 22 n )(x 12 n

于是

在每个节点 上的值及导数值均为零,即 为二重根 .kx kx

.0)( x故 惟一性成立 .

Page 8: 2.5   埃尔米特插值

8

其中 且与 有关 . ),( ba x

若 在 内的 阶导数存在,则其插值余项

)(xf ),( ba 22 n

)()!22(

)()()()( 21

)22(

12 xn

fxHxfxR n

n

n

(5.6)

仿照拉格朗日插值余项的证明方法,可以证明:

Page 9: 2.5   埃尔米特插值

9

插值多项式( 5.3 )的重要特例是 的情形 . 1n

这时可取节点为 及 ,kx 1kx 插值多项式为 ,)(3 xH

,)(3 kk yxH

,)(3 kk mxH

.)(

;)(

113

113

kk

kk

mxH

yxH(5.7)

相应的插值基函数为 ),(),(),(),( 11 xxxx kkkk

它们满足条件

满足

Page 10: 2.5   埃尔米特插值

10

,0)(,1)( 1 kkkk xx

;0)()( 111 kkkk xx

,1)(,0)( 111 kkkk xx

,0)()( 1 kkkk xx

,0)()( 111 kkkk xx

,0)()( 1 kkkk xx

,0)(,1)( 1 kkkk xx

.1)(,0)( 111 kkkk xx

Page 11: 2.5   埃尔米特插值

11

.21)(

,21)(

2

11

11

2

1

1

1

kk

k

kk

kk

kk

k

kk

kk

xxxx

xxxxx

xxxx

xxxxx

(5.8)

.)(

,)(

2

111

2

1

1

kk

kkk

kk

kkk

xxxxxxx

xxxxxxx

(5.9)

根据 及 的一般表达式( 5.4 )及( 5.5 ),)(xj )(xj

可得到

Page 12: 2.5   埃尔米特插值

12

),()()()()( 11113 xmxmxyxyxH kkkkkkkk

(5.10)

其余项 ,)()()( 33 xHxfxR

).,(,)())((!4

1)( 12

12)4(

3 kkkk xxxxxxfxR

于是满足条件( 5.7 )的插值多项式是

由( 5.6 )得

Page 13: 2.5   埃尔米特插值

13

求满足 及 )2,1,0()()( jxfxP jj )()( 11 xfxP

由给定的 4个条件,可确定次数不超过 3的插值多项式 . 由于此多项式通过点 )),(,()),(,()),(,( 221100 xfxxfxxfx

)](,[)()( 0100 xxxxfxfxP

))(](,,[ 10210 xxxxxxxf

的插值多项式及其余项表达式 .例 4

故其形式为

),)()(( 210 xxxxxxA

Page 14: 2.5   埃尔米特插值

14

.))((

],,[)(],[)(

2101

21001101

xxxxxxxfxxxxfxfA

待定常数 ,可由条件 确定,)()( 11 xfxP A

其中 为待定函数 . )(xk

为了求出余项 的表达式,)()()( xPxfxR

),())()(()( 22

10 xxxxxxxkxR

通过计算可得

可设

Page 15: 2.5   埃尔米特插值

15

).())()(()()()( 22

10 xtxtxtxktPtft

显然 ),2,1,0(0)( jx j

故 在 内有 5个零点(二重根算两个) . )(t ),( ba

,0)(!4)()( )4()4( xkf

反复应用罗尔定理,得 在 内至少有一个零点 ξ,

)()4( t ),( ba

构造

,0)(,0)( 1 xx 且

故有

Page 16: 2.5   埃尔米特插值

16

),())()((!4

1)( 22

10)4( xxxxxxfxR (5.11)

式中 位于 和 所界定的范围内 . 210 ,, xxx x

余项表达式为

于是 ),(

!41)( )4( fxk

Page 17: 2.5   埃尔米特插值

17

2.6 分段低次插值 2.6.1 高次插值的病态性质

这是因为对任意的插值节点,当 时, 不一定收敛到 .

n )(xLn

)(xf

在次数 增加时逼近 的精度不一定也增加 .n )(xf

根据区间 上给出的节点做出的插值多项式 ),(xLn],[ ba

Page 18: 2.5   埃尔米特插值

18

),,1,0(,105 nknkxk

所构造的拉格朗日插值多项式为

以 上的 个等距节点]5,5[ 1n

考虑函数 ,它在 上的各阶导数均存在 .

]5,5[)1/(1)( 2xxf

.)()(

)(1

1)(1

1

02

jnj

nn

j jn xxx

xx

xL

令 ),(21

12/1 nnn xxx ,552/1 nxn 则

Page 19: 2.5   埃尔米特插值

19

表 2-5 列出了 时的 的计算结果及 20,,4,2 n )( 2/1nn xL

在 上的误差2/1nx ).( 2/1nxR

994889.39952449.39042440.020080751.20123671.20042920.018

217397.10173867.10043530.016288409.5332743.5044334.014

800440.2755000.2045440.012531662.1578721.1047059.010

880668.0831017.0049651.08553416.0607879.0054463.06

423216.0356826.0066390.04621684.0759615.0137931.02

)()()( 2/12/12/1

nnnn xRxLxfn

52表

Page 20: 2.5   埃尔米特插值

20

可见,随 的增加, 的绝对值几乎成倍增加 . n )( 2/1nxR

这说明当 时 在 上是不收敛的 . n nL ]5,5[

Runge 证明了,存在一个常数 ,使得当 63.3c cx

时, 而当 时 发散 .cx )(xLn),()(lim xfxLnn

Page 21: 2.5   埃尔米特插值

21

取 根据计算画出 及 ,10n )1/(1 2xy )(10 xLy

在 上的图形,见图 2-5.]5,5[

图 2-5

Page 22: 2.5   埃尔米特插值

22

从图上看到,在 附近 , 与 5x )(10 xL )1/(1)( 2xxf

偏离很远, 这说明用高次插值多项式 近似 效果并不好 .

)(xLn )(xf

通常不用高次插值,而用分段低次插值 .

Page 23: 2.5   埃尔米特插值

23

下图是用 Matlab 完成的 Lagrange 插值(附程序):

Page 24: 2.5   埃尔米特插值

24

附: Lagrange 插值程序n=11; m=61;x= -5:10/(m-1):5;y=1./(1+x.^2);z=0*x;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y1=lagr1(x0, y0, x);plot(x, z, ’r’, x, y, ’k:’ ,x, y1, ’r’)gtext(‘Lagr.’), gtext(‘y=1/(1+x^2)’)title(‘Lagrange’)

Page 25: 2.5   埃尔米特插值

25

附: Lagrange 插值子程序 lagr1:function y=lagr1(x0,y0,x)n=length(x0); m=length(x);for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s;end

Page 26: 2.5   埃尔米特插值

26

2.6.2 分段线性插值

所谓分段线性插值就是通过插值点用折线段连接起来逼近 ).(xf

由于升高插值多项式的阶数有时并不能达到提高精度的效果 , 所以实际中往往采用分段插值的思想 .

分段插值的基本思想是将插值区间划分为若干个小区间 , 然后在每个小区间上做满足一定条件的低阶插值 .

Page 27: 2.5   埃尔米特插值

27

设已知节点 上的函数值 bxxxa n 10

,,,, 10 nfff 记 ,max,1 kkkkk hhxxh

],,[)(.1 baCxIh

)(xIh求一折线函数 , 满足:

kkh fxI )(.2 ),,,1,0( nk

在每个小区间 上是线性函数 .)(.3 xIh ],[ 1kk xx

则称 为分段线性插值函数 .)(xIh

Page 28: 2.5   埃尔米特插值

28

由定义可知 在每个小区间 上可表示为 )(xIh ],[ 1kk xx

111

1)(

kkk

kk

kk

kh f

xxxxf

xxxxxI ).( 1 kk xxx (6.1)

若用插值基函数表示,则在整个区间 上 为 ],[ ba )(xIh

,)()(0

n

jjjh xlfxI (6.2)

其中基函数 满足条件 )(xl j ),,,1,0,()( nkjxl jkkj

其形式是

Page 29: 2.5   埃尔米特插值

29

);0(1 略去 jxxx jj

);(1 略去njxxx jj

].,[],,[ 11 jj xxxbax

,0

,

,

)(1

1

1

1

jj

j

jj

j

j xxxxxxxx

xl (6.3)

利用插值余项( 2.17 )得到分段线性插值的误差估计))((max

2)()(max 1

2

11

kkxxxhxxxxxxxMxIxf

kkkk

Page 30: 2.5   埃尔米特插值

30

或写成 ,

8)()(max 22 hMxIxf hbxa

(6.4)

其中 .)(max2 xfMbxa

Page 31: 2.5   埃尔米特插值

31

),()()(1 10

xlxlxl kk

n

jj

当 时, ],[ 1 kk xxx

故 ).()]()([)( 1 xfxlxlxf kk

另一方面,这时 ).()()( 11 xlfxlfxI kkkkh

这种性质称为局部非零性质 . 分段线性插值基函数 只在 附近不为零,在其他地方均为零,

)(xl j jx

利用 的局部非零性质及 知,)(xl j

n

jj xl

0

)(1

Page 32: 2.5   埃尔米特插值

32

现在证明 , )()(lim xfxIhn

)()()()]()([)()( 111 xlfxlfxfxlxlxIxf kkkkkkh

)()]()([ 1 kkk hxlxl

这里 是函数 在区间 上的连续模,即对任意)(h )(xf ],[ ba

两点 ,只要 就有],[, baxx ,hxx

考虑

11 )()()()( kkkk fxfxlfxfxl

)( kh

).(h

Page 33: 2.5   埃尔米特插值

33

),()()( hxfxf

称 为 在 上的连续模, )(h )(xf ],[ ba 当 时,],[)( baCxf

.0)(lim0

hh

就有 由前式可知,当 时有 ],[ bax

).()()(max hxIxf hbxa

因此,只要 ,就有],[)( baCxf

)()(lim0

xfxIhh

在 上一致成立,],[ ba 故 在 上一致收敛到 .],[ ba )(xf)(xIh

Page 34: 2.5   埃尔米特插值

34

下图是用 Matlab 完成的分段线性插值(附程序):

Page 35: 2.5   埃尔米特插值

35

附:分段线性插值程序n=11; m=61;x=-5:10/(m-1):5;y=1./(1+x.^2);z=0*x;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y1=interp1(x0, y0, x);plot(x, z, ’r’, x, y, ’k:’, x, y1, ’r’)gtext(‘Piece. –linear.’), gtext(‘y=1/(1+x^2)’)title(‘Piecewise Linear’)注: interp1(x0,y0,x) 为 Matlab 中现成的分段线性插值程序 .

Page 36: 2.5   埃尔米特插值

36

2.6.3 分段三次埃尔米特插值 分段线性插值函数 的导数是间断的,若在节点)(xIh

上除已知函数值 外还给出导数值

),,1,0( nkxk kf

),,,1,0( nkmf kk

插值函数 ,)(xIh

],,[)(.1 1 baCxIh

),,,1,0()(,)(.2 nkfxIfxI kkhkkh

在每个小区间 上是三次多项式 .)(.3 xIh ],[ 1kk xx

这样就可构造一个导数连续的分段满足条件

Page 37: 2.5   埃尔米特插值

37

根据两点三次埃尔米特插值插值多项式( 5.10 ), 在区间 上的表达式为)(xIh ],[ 1kk xx

2

11

2

1

1 21)(

kk

kk

kk

k

kk

kh xx

xxfxxxx

xxxxxI

.

)(21

11

2

1

2

1

11

1

1

kkkk

k

kkkk

kk

kk

k

fxxxxxx

xfxxxxxxf

xxxx

(6.5)

Page 38: 2.5   埃尔米特插值

38

若在整个区间 上定义一组分段三次插值基函数],[ ba

及 ,)(xj ),,1,0()( njxj 则 可表示为)(xIh

)],()([)(0

xfxfxI j

n

jjjjh

(6.6)

其中 , 分别表示为 )(xj )(xj

(6.7)

;,0

),(,21

),0(,21

)( 1

1

2

1

1

1

1

2

1

1

其他

略去

略去

njxxx

xxxx

xxxx

jxxx

xxxx

xxxx

x jj

jj

j

jj

j

jj

jj

j

jj

j

j

Page 39: 2.5   埃尔米特插值

39

;其他

略去

略去

,0

),(,

),0(,

)( 1

2

1

1

1

2

1

1

njxxx

xxxxxx

jxxx

xxxxxx

x jjj

jj

j

jjj

jj

j

j(6.8)

由于 , 的局部非零性质,)(xj )(xj 当 时,],[ 1 kk xxx

只有 不为零,)(),(),(),( 11 xxxx kkkk 于是 可表示为)(xIh

).()()()()( 1111 xfxfxfxfxI kkkkkkkkh

).( 1 kk xxx (6.9)

Page 40: 2.5   埃尔米特插值

40

,1)(0 xj (6.10)

再研究 的收敛性 . )(xIh

,274)( kk hx ,

274)(1 kk hx (6.11)

.)()]()([100

n

jjjj

n

jjj xxfxf

此外,当 是分段三次多项式时, 的插值多项式 就是它本身 .

)(xf )(xf

)(xIh

例如,当 时,1)( xf

由 及 的表达式,直接得估计式 )(xj )(xj

所以就有由于 ,0f

Page 41: 2.5   埃尔米特插值

41

当 时就得 ],[ 1 kk xxx

,1)()( 1 xx kk (6.12)

由( 6.9) --( 6.12 ),当 时还有 ],[ 1 kk xxx

11 )()()()()()( kkkkh fxfxfxfxxIxf

][)27/4( 1 kkk ffh

11 )()()()( kkkk hfxhfx

],[)27/4( 1 kkk ffh

这里 且依赖于 .),(, 1 kk xx x

Page 42: 2.5   埃尔米特插值

42

因此对 成立],[ bax

.)(max2735)()(max xfhxIxf

bxahbxa

(6.13)

这表明用 逼近 时,它的界只依赖 ,而与 无关 . )(xIh )(xf h x

因此,当 时],[ bax

)()(lim0

xfxIhh

一致成立 . 设 则当 时, 在 上一致收敛于 .

],,[1 baCf 0h )(xIh ],[ ba

)(xf

从而得到:定理 3

Page 43: 2.5   埃尔米特插值

43

2.7 三次样条插值

Page 44: 2.5   埃尔米特插值

44

2.7.1 三次样条函数

上是三次多项式,其中 是给定节点,bxxxa n 10

若函数 且在每个小区间 ],,[)( 2 baCxS ],[ 1jj xx

则称 是节点 上的三次样条函数 .)(xS nxxx ,,, 10

若在节点 上给定函数值 jx ),,,1,0)(( njxfy jj

jj yxS )( ),,,1,0( nj ( 7.1)则称 为三次样条插值函数 .)(xS

定义 4

并成立

Page 45: 2.5   埃尔米特插值

45

由于 在每个小区间 上有 4个待定系数,)(xS ],[ 1jj xx

共有 个小区间,所以共有 个待定参数 . n n4

),0()0( jj xSxS

由于 在 上二阶导数连续,所以在节点 )(xS ],[ ba

)1,,2,1( njx j 处应满足连续性条件),0()0( jj xSxS

这些共有 个条件,再加上 本身还要满足的 个插值条件,共有 个条件,还需要 2个才能确定 .

)(xS

)(xS

33 n

24 n

1n

).0()0( jj xSxS ( 7.2 )

Page 46: 2.5   埃尔米特插值

46

通常可在区间 端点 上各加一个条件],[ ba nxbxa ,0

1. 已知两端的一阶导数值,即.)(,)( 00 nn fxSfxS ( 7.3)

( 7.4 )‘称为自然边界条件 .

2. 已知两端的二阶导数,即

其特殊情况为,)(,)( 00 nn fxSfxS ( 7.4)

.0)()( 0 nxSxS ( 7.4 ) `’

常见的边界条件有以下 3种:(称为边界条件),

Page 47: 2.5   埃尔米特插值

47

3. 当 是以 为周期的周期函数时,则要求)(xf 0xxn

),0()0( 0 nxSxS

此时插值条件( 7.1 )中 . nyy 0

这样确定的样条函数 称为周期样条函数 .)(xS

这时边界条件应满足 ),0()0( 0 nxSxS

( 7.5)).0()0( 0 nxSxS

)(xS 也是周期函数 .

Page 48: 2.5   埃尔米特插值

48

2.7.2 样条插值函数的建立 下面利用 的二阶导数值 表示 .

)(xS jj MxS )( ),,1,0( nj

)(xS

由于 在区间 上是三次多项式,故 )(xS ],[ 1jj xx )(xS

在 上是线性函数,],[ 1jj xx

j

jj

j

jj h

xxM

hxx

MxS

11)( ( 7.7)

对 积分两次并利用 及 , )(xS jj yxS )( 11)( jj yxS

可表示为

可定出积分常数,于是得三次样条表达式

Page 49: 2.5   埃尔米特插值

49

j

jj

j

jj h

xxM

hxx

MxS6

)(6

)()(

3

1

31

j

jjjj

j

jjjj h

xxhMy

hxxhM

y

66

21

11

2

这里 ,是未知的 . ),,1,0( njM j

).1,,1,0( nj ( 7.8)

Page 50: 2.5   埃尔米特插值

50

为了确定 , 对 求导得 jM )(xS

j

jj

j

jj h

xxM

hxx

MxS2

)(2

)()(

2

11

2

;6

11j

jj

j

jj hMM

hyy

( 7.9)

由此可求得 .

63)0( 1

1j

jjj

jj

jj h

yyM

hM

hxS

Page 51: 2.5   埃尔米特插值

51

类似地可求出 在区间 上的表达式,从而得 )(xS ],[ 1 jj xx

,36

)0(1

111

1

j

jjj

jj

jj h

yyM

hM

hxS

利用 可得 )0()0( jj xSxS

),1,,2,1(2 11 njdMMM jjjjjj ( 7.10 )

其中 ,,,1,0,,

11

1 njhh

hhh

h

jj

jj

jj

jj

Page 52: 2.5   埃尔米特插值

52

].,,[6],[],[

6 111

11

jjjjj

jjjjj xxxf

hhxxfxxf

d

( 7.11 )对第一种边界条件( 7.3 ),可导出两个方程

]).,[(62

),],[(62

11

1

0100

10

nnnn

nn xxffh

MM

fxxfh

MM ( 7.12 )

Page 53: 2.5   埃尔米特插值

53

如果令 ),],[(6,1 010

000 fxxfh

d

]),,[(6,1 11

nnnn

nn xxffh

d

.

22

22

1

1

0

1

1

0

11

11

0

n

n

n

n

n

nn

dd

dd

MM

MM

( 7.13 )

那么( 7.10 )及( 7.12 )可写成矩阵形式

Page 54: 2.5   埃尔米特插值

54

对第二种边界条件( 7.4 ),直接得端点方程 ,00 fM .nn fM ( 7.14 )

如果令 , nnn fdfd 2,2,0 000

也可以写成( 7.13 )的矩阵形式 .则( 7.10 )和( 7.14 )

Page 55: 2.5   埃尔米特插值

55

对于第三种边界条件( 7.5 ),可得

其中 ,

01

0

hhh

nn

,],[],[601

110

hhxxfxxfd

n

nnn

,0 nMM ,211 nnnnn dMMM ( 7.15 )

( 7.10 )和( 7.15 )可以写成矩阵形式

,101

1

hhh

n

nnn

Page 56: 2.5   埃尔米特插值

56

.

22

22

1

2

1

1

2

1

11

22

11

n

n

n

n

nn

nn

dd

dd

MM

MM

( 7.16 )

( 7.13 )和( 7.16 )是关于 的三对角方程组, 在力学上解释为细梁在 截面处的弯矩,称为 的矩,

),,1,0( njM j

jM jx

)(xS

( 7.13 )和( 7.16 )的系数矩阵为严格对角占优阵,有唯一解 , 求解方法可见第 5章第 4 节追赶法,将解得结果代入( 7.8)的表达式即可 .

方程组( 7.13 )和( 7.16 )称为三弯矩方程 .

Page 57: 2.5   埃尔米特插值

57

设 为定义在 上的函数,在节点 )(xf ]30,7.27[

)3,2,1,0( ixi

.0.3)30()(,1.4)29()(,3.4)28()(,1.4)7.27()(

32

10

fxffxffxffxf

试求三次样条函数 ,使它满足边界条件 )(xS ,0.3)7.27( S

.0.4)30( S

例 5上的值如下:

Page 58: 2.5   埃尔米特插值

58

,666.46)],[(6,21,

1310,1 010

00210 fxxfh

d

.4.17]),[(6323

23 xxffh

d

,70000.2],,[6,00002.4],,[6 32122101 xxxfdxxxfd

由此得矩阵形式的方程组( 7.13 )为

,1,21,

133,1,30.0 321210 hhh

解 由( 7.11 )及( 7.12 )

Page 59: 2.5   埃尔米特插值

59

.

4000.177000.2

00002.4666.46

4000.1721212

21

13102

133

12

3

2

1

0

MMMM

求解得 .115.9,830.0,395.0,531.23 3210 MMMM

Page 60: 2.5   埃尔米特插值

60

代入( 7.8)得

)29(51917.4)29(51917.1)30(96167.3)30(13833.0

),28(96167.3)28(13833.0)29(23417.4)29(06583.0

),7.27(31358.14)7.27(21944.0)28(84322.14)28(07278.13

)(

3

3

3

3

3

3

xxxx

xxxx

xxxx

xS

],28,7.27[x

],29,28[x

],30,29[x

(曲线见图 2-6 )

Page 61: 2.5   埃尔米特插值

61

图 2-6

Page 62: 2.5   埃尔米特插值

62

给定函数 节点 ,55,1

1)( 2

xx

xf

),10,,1,0(5 kkxk 用三次样条插值求 ).(10 xS

取 )()(10 kk xfxS ),5()5(),10,,1,0( 10 fSk

).5()5(10 fS

直接上机计算可求出 在表 2-6 所列各点的值 . )(10 xS

例 6

Page 63: 2.5   埃尔米特插值

63

25376.013971.013793.05.20000.10000.10000.1019837.011366.011312.08.294090.092754.091743.03.010000.010000.010000.00.384340.082051.080000.05.010832.008426.008410.03.364316.062420.060976.08.022620.007606.007547.05.350000.050000.050000.00.120130.006556.006477.08.331650.036133.037175.03.105882.005882.005882.00.423535.029744.030769.05.188808.004842.005131.03.418878.023154.023585.08.157872.104248.004706.05.420000.020000.020000.00.280438.103758.004160.08.424145.016115.015898.03.203846.003846.003846.00.5

)()(11

)()(11

10102

10102

xLxSxxxLxSxx

62表

Page 64: 2.5   埃尔米特插值

64

下图是用 Matlab 完成的样条插值(附程序):

Page 65: 2.5   埃尔米特插值

65

附:样条插值程序n=11; m=61;x=-5:10/(m-1):5;y=1./(1+x.^2);z=0*x;x0=-5:10/(n-1):5;y0=1./(1+x0.^2);y1=interp1(x0, y0, x, ’spline’);plot(x, z, ’r’, x, y, ’k:’, x, y1, ’r’)gtext(‘Spline’), gtext(‘y=1/(1+x^2)’)title(‘Spline’)注: interp1(x0, y0, x, ’spline’) 为 Matlab 中现成的样条插值程序 .

Page 66: 2.5   埃尔米特插值

66

也可以将三种插值结果画在一起:

Page 67: 2.5   埃尔米特插值

67

2.7.3 误差界与收敛性 定理 4 设 为满足第一种或第二],,[)( 4 baCxf )(xS

则有估计式),1,,1,0(,max 110

nixxhhh iiiini

,)(max)()(max 4)4()()( k

bxakkk

bxahxfCxSxf

,2,1,0k ( 7.17 )其中 .

83,

241,

3845

210 CCC

种边界条件( 7.3 )或( 7.4 )的三次样条函数,令

Page 68: 2.5   埃尔米特插值

68

这个定理不但给出了三次样条插值函数 的误差估计 .

)(xS

还说明了当 时, 及其一阶导数 和0h )(xS )(xS

二阶导数 均分别一致收敛于 , 及

)(xS )(xf )(xf ).(xf