推荐星级:
- 1
- 2
- 3
- 4
- 5
精通MATLAB综合辅导与指南---三次条样
资料介绍
文档为精通MATLAB综合辅导与指南---三次条样讲解文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,,
部分文件列表
文件名 | 大小 |
精通MATLAB综合辅导与指南---三次条样.pdf | 152K |
部分页面预览
(完整内容请下载后查看)第12 章 三次样条
众所周知,使用高阶多项式的插值常常产生病态的结果。目前,有多种消除病态的方
法。在这些方法中,三次样条是最常用的一种。在MATLAB 中,实现基本的三次样条插值
的函数有spline,ppval,mkpp 和unmkpp。在这些函数中,仅spline 在《MATLAB 参考
指南》中有说明。下面几节,将展示在M 文件函数中实现三次样条的基本特征。
12.1 基本特征
在三次样条中,要寻找三次多项式,以逼近每对数据点间的曲线。在样条术语中,这
些数据点称之为断点。因为,两点只能决定一条直线,而在两点间的曲线可用无限多的三
次多项式近似。因此,为使结果具有唯一性。在三次样条中,增加了三次多项式的约束条
件。通过限定每个三次多项式的一阶和二阶导数,使其在断点处相等,就可以较好地确定
所有内部三次多项式。此外,近似多项式通过这些断点的斜率和曲率是连续的。然而,第
一个和最后一个三次多项式在第一个和最后一个断点以外,没有伴随多项式。因此必须通
过其它方法确定其余的约束。最常用的方法,也是函数 spline 所采用的方法,就是采用非
扭结(not-a-knot)条件。这个条件强迫第一个和第二个三次多项式的三阶导数相等。对最后
一个和倒数第二个三次多项式也做同样地处理。
基于上述描述,人们可能猜想到,寻找三次样条多项式需要求解大量的线性方程。实
际上,给定N 个断点,就要寻找N-1 个三次多项式,每个多项式有4 个未知系数。这样,
所求解的方程组包含有4*(N-1)个未知数。把每个三次多项式列成特殊形式,并且运用各种
约束,通过求解N 个具有N 个未知系数的方程组,就能确定三次多项式。这样,如果有50
个断点,就有 50 个具有 50 个未知系数的方程组。幸好,用稀疏矩阵,这些方程式能够简
明地列出并求解,这就是函数spline 所使用的计算未知系数的方法。
12.2 分段多项式
在最简单的用法中,spline 获取数据x 和y 以及期望值xi,寻找拟合x 和y 的三次样
条内插多项式,然后,计算这些多项式,对每个xi 的值,寻找相应的yi。例如:
>>x=0 : 12;
>>y=tan(pi*x/25);
>>xi=linspace(0, 12);
>>yi=spline(x, y, xi)
>>plot(x, y, ‘ o ‘, xi, yi), title(‘ Spline fit ‘)
(见图12.1 样条拟合)
全部评论(0)