0 引 言
三次样条插值以构造简单,使用方便,拟合准确,具有“保凸”的重要性质等特点成为了常用的插值方法。一般三次样条插值解算过程中通过追赶法求解三弯矩阵,但使用计算机求解时会表现出解的精度不高的问题,导致其计算结果无法应用到工程实践之中。因此需要找出一种提高解精度的方法。
1 基本概念
三次样条函数的定义:在区间内对于给定的函数值 ,其中,如果函数满足条件:
(1) 在每个子区间,上都是不高于三次的多项式;
(2) 、、在上都连续;
(3) , 。
则称为函数关于节点的三次样条函数。
想要求解三次样条插值函数,只需在每个子区间上确定一个三次多项式共有4个系数,确定它们需要 4n 个条件,因此要完全确定共需 4n 个条件。由所满足的条件 (1)、(2)、(3),可确定个条件,仍然缺少两个条件。这两个条件通常由实际问题对三次样条插值函数在端点的状态要求给出,也称之为边界条件,常见的边界条件有:
1)夹持边界条件(Clamped Spline):给定两端点的一阶导数值,即,;
2)自然边界条件(Natural Spline):使两端点的二阶导数值为零,即;
3)非扭结边界条件(Not-A-Knot Spline):强制第一个插值点的三阶导数值等于第二个点的三阶导数值,最后第一个点的三阶导数值等于最后第二个点的三阶导数值,即,。
2 计算方法
设三次样条函数,(0)
,
由三次样条函数定义(1)(2)(3)可得:
, (1)
如下构造式(1)矩阵:
由式(1)可知:
,,,,
1)在夹持边界条件时,
,,,;
,,,;
2)在自然边界条件时,
, ,,;
,,,;
3)在非扭结边界条件时,
,,,;
,,,;
由n个未知数的非齐次方程组有惟一解的充分必要条件是,可知矩阵方程(2)在以上三种情况下都有惟一解。
对矩阵方程(2)采用高斯列主元消去法即可求解得出。
最后,代入式(0)可以得出:
3 应用算例
有点集,在非扭结边界条件下进行插值。同时使用Matlab R2010a和文章所述方法进行插值计算,对比计算结果。
表1.Matlab R2010a计算结果
插值 方程 |
方程系数 |
|||
a | b | c | d | |
0.083 333 333 333 333 2 |
-0.5 |
1.416 666 666 666 67 |
1 |
|
0.083 333 333 333 333 3 |
-0.25 |
0.666 666 666 666 667 |
2 |
|
0.083 333 333 333 333 3 |
0.25 |
0.666 666 666 666 667 |
3 |
表2.文章所述方法计算结果
插值 方程 |
方程系数 |
|||
a | b | c | d | |
0.083 333 333 333 333 3 |
-0.5 |
1.416 666 666 666 665 |
1 |
|
0.083 333 333 333 333 3 |
-0.25 |
0.666 666 666 666 666 |
2 |
|
0.083 333 333 333 333 3 |
0.25 |
0.666 666 666 666 667 |
3 |
由表1、表2可知文章所述方法计算结果与Matlab R2010a计算一致,其他几种边界条件下的插值结论均一致,这里不在复述。
4 结 论
利用上述方法在传统的三弯矩阵中增加两个新元素,使得三次样条插值的求解过程可以在不增加计算复杂度的前提下提高计算结果精度。并且可以实现使用一种算法来计算三种常用边界条件下的样条插值函数。这样利于编制计算机程序来自动求解多种不同边界的三次样条函数。
[参 考 文 献]
[1] 李桂成.计算方法[M] 北京:电子工业出版社,2006.8
[2] 司守奎、孙玺菁.数学建模算法与应用[M] 北京:国防工业出版社,2011.8
[3] 同济大学数学系.线性代数[M] 北京:高等教育出版社,2007.5
[4] 于洋 袁健华 钱江 王美玲.新边界条件下的三次样条插值函数[J].软件 ,2016, (2)
[5] 何丽丽.三次样条插值--三转角方程的算法设计[J].湖南邮电职业技术学院学报 ,2014, (3)
[6] 俞海军 陈瑾怡.三种插值方法的研究与比较[J].河南科技 ,2013, (20)
[7] 乃明 胡兵 闵心畅.R-B方程样条有限元法[J].四川大学学报(自然科学版) ,2012, 49(5)
[8] 邢丽.三次样条插值端点约束条件的构造与Matlab实现[J].上海第二工业大学学报 ,2012, (4)
[9] 朱家明.两种三次样条插值建立方法及MATLAB运行时间比较[J].中国培训,2016, (10)
[10] 张雨浓 劳稳超 肖林 陈宇曦.三次样条构造的伪逆解法[J].计算机应用研究 ,2014, (2)
出处不详,侵删