加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

样条函数

(2015-07-22 23:25:43)
分类: 逻数
spline function 一类分段(片)光滑、并且在各段交接处也有一定光滑性的函数。简称样条。样条一词来源于工程绘图人员为了将一些指定点连接成一条光顺曲线所使用的工具,即富有弹性的细木条或薄钢条。由这样的样条形成的曲线在连接点处具有连续的坡度与曲率。分段低次多项式、在分段处具有一定光滑性的函数插值就是模拟以上原理发展起来的,它克服了高次多项式插值可能出现的振荡现象,具有较好的数值稳定性和收敛性,由这种插值过程产生的函数就是多项式样条函数。

插值就是:

给定https://upload.wikimedia.org/math/4/1/5/415290769594460e2e485922904f345d.png的值称为内插。

https://upload.wikimedia.org/math/e/8/4/e84fec1e074026d6fa8e3155482c35c3.png满足:


 https://upload.wikimedia.org/math/9/5/3/953b3e6b5017ce480ae8284ec83b7983.png

则称https://upload.wikimedia.org/math/d/f/c/dfcf28d0734569a6a693bc8194de62bf.png上的插值函数。

插值分为内插和外插,如果在已知区间[a,b]内部取样就是内插,否则就是外插。


我理解,就是用有限的样本点去拟合实际情况。这里f(x)是实际情况,但是因为函数关系未知,而已知的只有少数个样本点及样本点的值(xk,yk),通过这些(xk,yk)拟合出另一个函数g(x)(比如可利用多项式待定系数),使得g(x)与f(x)曲线重合程度越高越好(比如除了函数值yk本身相等以外,还可以利用一阶导或二阶导)。如果实际情况不好用一个函数表示,还可以将其分段,每个段的区间上存在一个g(x),通过分段函数表示f(x).


而样条插值的定义就是

假设有n+1个不同的节点xi

https://upload.wikimedia.org/math/0/5/6/056533e7701bc2da7f20dd111b4baa20.png

以及n+1个节点值yi,我们要找到一个n阶样条函数

https://upload.wikimedia.org/math/d/3/8/d38ca9ae6ef5c663dc0c352b7dfce7c4.png

其中每个Si(x)都是一个k次的多项式。

所以样条插值首先是分段表示的,并且每段都是多项式表示。


如果数据点之间直线连接,就是线性样条插值,结果样条是一个多边形(奇怪,为什么不是折线呢?是否一定要闭合才行?)

定义:

线性样条插值是最简单的样条插值。数据点使用直线进行连接,结果样条是一个多边形

从代数的角度来看,每个Si都是一个如下

https://upload.wikimedia.org/math/c/b/0/cb08afd6af744a98dc3e9187ac79d761.png

线性函数。 样条在每个数据点都必须连续,即

https://upload.wikimedia.org/math/0/3/8/0380c97aeae9a337820b441af0c4ca8a.png

我们很容易得到

https://upload.wikimedia.org/math/8/a/f/8af3b6e18ac117f04926f627da6b0137.png
https://upload.wikimedia.org/math/8/d/3/8d3879487b3b776fd1a975839633997a.png

所以以上论述成立。

上式从几何上好理解,代数上看,x-xi-1左边的系数其实就是斜率。


二次样条如下定义:

二次样条插值可以构建为

https://upload.wikimedia.org/math/c/9/6/c96a8af0e03d47ab5db485f5468f7f48.png

通过选择https://upload.wikimedia.org/math/9/7/7/977782615e54462c805f44648c6a14cf.png,然后用递推关系就可以得到系数

https://upload.wikimedia.org/math/5/c/f/5cf86f40d10c1842ac10099aa4ff23ee.png

从代数上看,多项式x升为二次,分母的2应该与x2次求导后的2互相抵消有关,应该还有更具体的数学推导。

三次和导数那部分也不是很理解,有时间好好学学《离散数学》吧

0

阅读 收藏 喜欢 打印举报/Report
前一篇:脂肪酸
后一篇:3D堆叠封装
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有