《数值分析》教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.7.2 三次样条插值的基本原理
三次样条插值也是一种分段插值方法,用分段的三次多项式构造成一个整体上具有函数、一阶和二阶导函数连续的函数,近似地替代已知函数)(x f ,“样条”一词源于过去绘图员使用的一种绘图工具样条,它是用于富于弹性、能弯曲的木条(或塑料)制成的软尺,把它弯折靠近所有的基点用画笔沿着样条就可以画出连续基点的光滑曲线。
假设已知函数)(x f 在区间],[b a 上的)1(+n 个节点b
x x x x x a n n =<<<<<=-1210 及其对应的函数值
i i y x f =)(,),,2,1,0(n i =,即给出)1(+n 组样本点数据),(,),,(),,(1100n n y x y x y x ,可以构造一个定义在],[b a 上的函数)(x S ,
满足下述条件。
① i i y x S =)(,),,2,1,0(n i
=
② )(x S 在每个小区间],[1+i i x x )1,,2,1,0(-=n i 上,都是一个三次多项式:
3
32210)(x
a x a x a a x S i i i i i +++= (1-42)
③ )(),(),(x S x S x S '''在],[b a 上连续。
可见,)(x S 是一个光滑的分段函数,这样的函数称为三次样条(Spline )插值函数。
构造的函数)(x S 是由n 个小区间上的分段函数组成,根据条件②,每个小区间上构造出一个三次多项式,第
i 个小区间上的三次多项式为
332210)(x a x a x a a x S i i i i i +++=,共有n 个多项式,每个多项式有4个待定系数。要确定这n 个多项式,就需要确定
4
n
个系数
3210,,,i i i i a a a a )1,,2,1,0(-=n i 。为此,应该找到包含这些系数的4n
个独立方程。
根据)(x S 满足的条件①,在所有的节点上可得出)1(+n 个条件方程:
i i y x S =)(,),,2,1,0(n i = (1-43)
根据)(x S 满足的条件③,除两端点外在所有节点上,又可得出)1(3-n 个方程:
⎪⎩⎪
⎨⎧''='''='=+++)()()
()()
()(111i i i
i i i i i i i i i x S x S x S x S x S x S )1,,2,1(-=n i (1-44)
由式(1-43)和(1-44)式可知共有)24(-n 个独立方程,还差两个。通常的办法是在区间],[b a 的两个端点上各加一个条件,即称之为边界条件。常用的边界条件有以下三种:
(1)给定两端点处的导数值n n y x S y x S '=''=')(,)(00,特别地,当00
='='n y y 时,样条曲线在端点处呈水平状态。
(2)给定两端处的二阶导数值n n y x S y x S ''=''''='')(,)(0
0,特别地,当0)()(0=''=''n x S x S 时,称为自然边界条件。
(3)如果)(x f 是以a b -为周期的周期函数,则)(x S 也应是具有同样的周期的周期函数,在端点处需要满足
)0()0(),0()0(-''=+''-'=+'b S a S b S a S
这样,在已有的)24(-n 个条件方程基础上,再加上任何一种边界条件,即可求出这4n 个系数,从而就可以求得三次样条插值函数)(x S 。
1.7.3 以节点处的二阶导数值为参数的三次样条插值函
数
设i i M x S ='')(),,1,0(n i =,因为在小区间],[1+i i x x 上)()(x S x S i =是三次多项式,故)(x S i ''为线性函数,由Lagrange 插值公式得
i
i i i i i i
i i
i i i i i i h x x M h x x M x x x x M x x x x M x S 1
1
11
11)(++++++---=--+--='',],[1+∈i i x x x (1-45)
式中,i i i x x h -=+1
对式(1-45)两边进行一次积分,得出
i i
i i i i i i A h x x M h x x M x S +---='++2)(2)()(2
121,],[1+∈i i x x x (1-46)
再对式(1-46)两边进行一次积分,得出
i i i i
i i i i i i B x x A h x x M h x x M x S +-+---=++)(6)(6)()(3
131,],[1+∈i i x x x
(1-47)
式中i A ,i B 都是积分常数。代入插值条件i i i y x S =)(,11)(++=i i i y x S ,
得
i i i i i i y B h M x S =+=6)(2,12
116
)(+++=++=i i i i i i i i y B h A h M x S
i i y x ,是已知的,解这两个方程,得出i A 与i B ,代入式(1-47)得出:
)1,,1,0(666)(6)()(122113131-=-⎪⎪⎭⎫ ⎝⎛---⎪⎪⎭⎫ ⎝
⎛-+---=+++++n i h x x h M y h x x h M y h x x M h x x M x S i
i i i i i i
i i i i i i i i i i (1-48) 求导得
6
)(2)(2)()(112121i i i i i i i i i i i i i M M h h y y h x x M h x x M x S ---+---='++++,],[1+∈i i x x x (1-49)
)(x S i '在],[b a 上连续,所以在相邻两个小区间的分界点i x (节点)上取值
相等:
)0()0(1+'=-'-i i i i x S x S ,1,,2,1-=n i (1-50)
由式(1-49)和式(1-50)便可得出:
111
111116
3)0(6
3)0(++--------+-=+'=+-+=-'i i
i i i i i i i i i i i i i i i i M h h y y h M x S M h h y y h M x S
点],[)0(1i i i x x x -∈-,点],[)0(1+∈+i i i x x x ,因此,在代入式(1-49)
时区间长度分别用11---=i i i x x h 和i i i x x h -=+1。
移项整理可得:
11111111162---++----+⎪⎪⎭⎫ ⎝⎛---=++++i i
i i i i i i i i i i
i i i i i h h h y y h y y M h h h M M h h h