Skip to content

模型Model

样条与分段多项式插值

Spline interpolation

以光滑拼接的低次分段多项式完成插值,并用边界条件与带状线性系统确定三次样条。

形式陈述 ​

给定正整数 n≥1 及严格递增的实节点

a=x0<x1<⋯<xn=b

及实数据 yi。与一个全局插值多项式不同,样条允许相邻区间使用不同多项式。对非负整数 m,k,次数不超过 m、光滑度为 Ck 的样条,是在每个区间 [xi,xi+1] 上为次数不超过 m 的多项式,并在内部节点处具有直到 k 阶的连续导数的函数。分段次数本身不自动保证拼接光滑,这些导数的连续性必须单独施加;P3 表示次数不超过三的多项式空间。

三次插值样条 s 满足

s(xi)=yi,s∈C2[a,b],s|[xi,xi+1]∈P3.

为什么还需要边界条件?n 段三次式共有 4n 个系数,每段两端的插值给 2n 个条件,内部一、二阶导数连续再给 2(n−1) 个条件,合计仍少两个。因此必须补两个边界条件。自然样条取 s″(a)=s″(b)=0;clamped 样条给定 s′(a) 与 s′(b);not-a-knot 条件要求最前和最后一个内部节点处三阶导数也连续,使相邻两段在该处实际上属于同一三次多项式。这一标准写法要求至少四个节点;只有两三个节点时需另定低次退化规则,否则两个条件可能不存在或重复。

令 hi=xi+1−xi>0、Mi=s″(xi)。三次式的二阶导数为一次式,所以一旦知道两端的 Mi,Mi+1,就在整段上知道了 s″。积分两次,再由两个端点值确定积分常数,得到

s(x)=Mi(xi+1−x)3+Mi+1(x−xi)36hi+(yi−Mihi26)xi+1−xhi+(yi+1−Mi+1hi26)x−xihi.

要求左右两段的一阶导数在内部节点相等,就得到

hi−1Mi−1+2(hi−1+hi)Mi+hiMi+1=6(yi+1−yihi−yi−yi−1hi−1).

边界条件补齐首尾方程后得到带状或三对角线性系统。自然边界下该系统可用三对角消元在 O(n) 时间、O(n) 存储内求解;构造在系统解出并形成每段系数后完成。单点求值先以二分查找定位区间,耗时 O(log⁡(n+1)),再用常数次运算计算对应三次式。

直觉

高次全局多项式像一根从头贯穿到尾的硬尺,增加或移动一个数据点会重塑整条曲线;三次样条把区间分成短段,再用一阶、二阶导数连续把各段接成没有折角和曲率跳变的曲线。低次数限制局部振荡,光滑拼接保留整体视觉和微分结构。

B-spline 基把样条空间写成局部支撑基:一个基函数只覆盖少数相邻区间,因此矩阵呈带状。需要区分的是,基函数局部并不意味着最终插值解只受局部数据影响;解系数时的全局线性系统仍会把单点改动传播到远处,只是影响通常逐渐衰减。

若要把这套表示具体算出来,可从节点重数规定的样条空间进入B样条递推基,再用局部三角算法求值。下文的三点自然样条也可表示为次数三、节点 (0,0,0,0,1,2,2,2,2)、系数 (0,1/2,3/2,1/2,0) 的B样条组合。在 x=1,三个非零基值为 (1/4,1/2,1/4),故值为一;在 [0,1] 展开正是 3x/2−x3/2,右段由对称得到。该坐标表示没有替换插值条件或自然边界条件。

例子与边界

先用三点 (0,0),(1,1),(2,0) 完成一次自然样条构造。边界给 M0=M2=0,两个步长都为 1,唯一内部方程为 4M1=6(−1−1)=−12,故 M1=−3。代入分段公式得

s(x)={32x−12x3,0≤x≤1,32(2−x)−12(2−x)3,1≤x≤2.

两段在 x=1 处都取值 1,一阶导数都为 0,二阶导数都为 −3;两外端的二阶导数为零。这同时检查了插值、拼接和边界条件,而不只是检查曲线外观。

同一组稠密采样若用一个很高次的全局多项式连接,端点附近可能出现大摆动;分段三次只在短区间内建模,并通过 C2 条件协调邻段,通常更稳健。一个明确的四阶结论是:若 f∈C4[a,b],采用等距网格和 not-a-knot 边界条件,则当网格足够细时

‖f−s‖∞=O(h4),h=maxihi.

这个阶数不能无条件移植给自然样条。如果原函数端点二阶导数不为零,自然边界就会强迫一个不匹配的曲率,端点误差可能主导全区间一致误差;不能仅凭“每段三次”宣布四阶。

相同节点和值在 natural、clamped 和 not-a-knot 条件下会产生不同曲线,尤其端点附近差异明显;所以“那个 cubic spline”不是没有边界条件的唯一对象。若节点不严格递增,hi=0 会让方程失效;若间距极端悬殊,系统和导数估计也可能变得敏感。

精确插值会穿过所有噪声数据。需要在拟合程度与曲率之间权衡时,应改用 smoothing spline,其目标通常含残差项和粗糙度惩罚;它与本页的精确插值样条不是同一个问题。B-spline 是表示样条空间的一组基,也不等同于某一种边界条件下的插值解。

推论与应用

样条把局部多项式、光滑拼接和结构化线性求解连接起来。有限元也使用分片多项式空间,但其系数由变分方程决定,不应直接套用插值样条的边界条件。

实现验收应同时检查节点严格递增、边界条件明确、插值残差在节点处满足容差、内部一二阶导数连续,并对线性系统失败或非有限系数给出明确错误。只有曲线“看起来平滑”不足以证明构造正确。

从固定节点值到最小曲率拟合 ​

三次平滑样条保留本页的自然插值构造,但输入给它的是待优化的拟合值。给定任意节点值,自然插值在所有取相同值的允许函数中有最小二阶导数平方积分;再平衡残差和曲率,便得到带两个未惩罚仿射方向的带状系统。三点响应 (0,1,0)在未归一化惩罚系数 1/9下给拟合值 (1/6,2/3,1/6),不再要求穿过原始响应。

参考资料
关系图谱12 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

使用的工具