样条插值
维基百科,自由的百科全书
在数值分析这个数学分支中,样条插值是使用一种叫作样条的特殊分段多项式进行插值的形式。由于样条插值可以使用低阶多项式样条实现较小的插值误差,这样就避免了使用高阶多项式所出现的龙格现象,所以样条插值得到了流行。
目录 |
[编辑] 定义
假设有 n+1 个不同的节点 xi
以及 n+1 个节点值 yi,我们要找到一个 n 阶样条函数
其中每个 Si(x) 都是一个 k 阶的多项式。
[编辑] 样条插值
使用多项式插值,对给定数据集进行插值的 n 阶多项式就被给定数据点所唯一地定义出来。但是,对同样的数据进行插值的 n 阶样条并不是唯一的,为了构建一个唯一的样条插值式它还必须满足另外 n-1 个自由度。
[编辑] 线性样条插值
线性样条插值是最简单的样条插值。数据点使用直线进行连接,结果样条是一个多边形。
从代数的角度来看,每个 Si 都是一个如下
的线性函数。 样条在每个数据点都必须连续,即
我们很容易得到
所以以上论述成立。
[编辑] 二次样条插值
二次样条插值可以构建为
通过选择 z0,然后用递推关系就可以得到系数:
[编辑] 三次样条插值
对于 n+1 个给定点的数据集 {xi} ,我们可以用 n 段三次多项式在数据点之间构建一个三次样条。如果
表示对函数 f 进行插值的样条函数,那么需要:
- 插值特性,S(xi)=f(xi)
- 样条相互连接,Si-1(xi) = Si(xi), i=1,...,n-1
- 两次连续可导,S'i-1(xi) = S'i(xi) 以及 S''i-1(xi) = S''i(xi), i=1,...,n-1.
由于每个三次多项式需要四个条件才能确定曲线形状,所以对于组成 S的 n 个三次多项式来说,这就意味着需要 4n 个条件才能确定这些多项式。但是,插值特性只给出了 n + 1 个条件,内部数据点给出 n + 1 − 2 = n − 1 个条件,总计是 4n − 2 个条件。我们还需要另外两个条件,根据不同的因素我们可以使用不同的条件。
其中一项选择条件可以得到给定 u 与 v 的钳位三次样条,
另外,我们可以设
.
这样就得到自然三次样条。自然三次样条几乎等同于样条设备生成的曲线。
在这些所有的二次连续可导函数中,钳位与自然三次样条可以得到相对于待插值函数 f 的最小震荡。
如果选择另外一些条件,
可以得到周期性的三次样条。
如果选择,
可以得到complete三次样条。
[编辑] 三次样条的最小性
三次样条有另外一个非常重要的解释,实际上它是在索伯列夫空间 H2([a;b]) 最小化函数
的函数。
函数 J 包含对于函数 f(x) 全部曲率
的近似,样条是 f(x) 最小曲率的近似。
由于弹性条的总体能量与曲率成比例,所以样条是受到 n 个点约束的弹性条的最小能量形状。样条也是基于弹性条设计的工具。
[编辑] 使用自然三次样条的插值
它可以定义为
以及
.
通过解下面的方程可以得到它的系数。
[编辑] 示例
[编辑] 线性样条插值
假设要为带有节点
的函数
找一个线性样条。直接代入样条公式,我们得到如下样条:
样条函数(蓝线)以及所近似的函数(红点)如下图所示:
[编辑] 二次样条插值
下图是一个 k=4 的样条函数(蓝线)与所近似的函数(红线)的例子:

![S(x) := \left\{\begin{matrix}
S_0(x) & x \in [x_0, x_1] \\
S_1(x) & x \in [x_1, x_2] \\
\vdots & \vdots \\
S_{n-1}(x) & x \in [x_{n-1}, x_n]
\end{matrix}\right.](http://upload.wikimedia.org/math/d/3/8/d38ca9ae6ef5c663dc0c352b7dfce7c4.png)






![S(x)=\left\{\begin{matrix} S_0(x),\ x\in[x_0,x_1] \\ S_1(x),\ x\in[x_1,x_2]\\ \cdots \\ S_{n-1}(x),\ x\in[x_{n-1},x_n]\end{matrix}\right.](http://upload.wikimedia.org/math/2/1/6/2166a209adfb6a6140e6a86c22c2a199.png)















![S(x) = \left\{\begin{matrix}
e^{-1} + 2(e^{-\frac{1}{4}} - e^{-1})(x+1) & x \in [-1, -\frac{1}{2}] \\
e^{-\frac{1}{4}} + 2(1-e^{-\frac{1}{4}})(x+\frac{1}{2}) & x \in [-\frac{1}{2},0] \\
1 + 2(e^{-\frac{1}{4}}-1)x & x \in [0,\frac{1}{2}] \\
e^{-\frac{1}{4}} + 2(e^{-1} - e^{-\frac{1}{4}})(x-\frac{1}{2}) & x \in [\frac{1}{2},1] \\
\end{matrix}\right.](http://upload.wikimedia.org/math/a/9/b/a9b4fec5ecdf76f0b71e9c35c17c8749.png)



