昆仑山:眼中无形心中有穴之穴人合一

夫君子之行,静以修身,俭以养德;非澹泊无以明志,非宁静无以致远。夫学须静也,才须学也;非学无以广才,非志无以成学。怠慢则不能励精,险躁则不能冶性。年与时驰,意与岁去,遂成枯落,多不接世。悲守穷庐,将复何及!

 

2.6三次样条插值

三次样条插值 知识点详解

各位同学,今天我们系统讲解数值分析中应用最广泛、工程价值最高的插值方法——三次样条插值。我们先从它的工程起源讲起,再拆解定义、推导核心方程、分析性质,最后做系统的归纳总结。


一、三次样条插值的起源与核心动因

我们上一讲学习了分段低次插值,它解决了高次插值的龙格现象,保证了一致收敛性,但存在一个致命短板:光滑性不足

  • 分段线性插值:仅函数连续(\(C^0\) 光滑度),节点处导数间断,有尖点;
  • 分段三次埃尔米特插值:仅一阶导数连续(\(C^1\) 光滑度),节点处二阶导数间断,曲率不连续。

而在航空、造船、汽车等工程领域,比如高速飞机的机翼型线、船体的放样曲线、汽车的车身曲面,都要求曲线有二阶连续导数(\(C^2\) 光滑度)——只有二阶导数连续,曲线的曲率才连续,才能保证流体流过时阻力最小、结构受力均匀。

三次样条的原型来自工程制图:早期工程师用富有弹性的细长木条(称为“样条”),用压铁固定在给定的样点上,让木条自由弯曲,沿木条画出的曲线就是样条曲线。从力学上看,弹性木条的弯曲变形满足二阶微分方程,其弯矩与二阶导数成正比,而压铁固定点之间的弯矩是线性变化的,因此样条曲线本质是分段三次多项式,且在连接点处二阶导数连续,这就是数学上三次样条的来源。


二、三次样条函数的定义

1. 三次样条函数的严格定义

设区间 \([a,b]\) 上有节点 \(a = x_0 < x_1 < \dots < x_n = b\),若函数 \(S(x)\) 满足以下两个核心条件,则称 \(S(x)\) 是该节点上的三次样条函数

  1. 光滑性条件\(S(x) \in C^2[a,b]\),即 \(S(x)\) 在整个区间 \([a,b]\) 上二阶连续可导;
  2. 分段多项式条件\(S(x)\) 在每个小区间 \([x_j, x_{j+1}]\)\(j=0,1,\dots,n-1\))上都是三次多项式。

2. 三次样条插值函数

若三次样条函数 \(S(x)\) 还满足插值条件

\[S(x_i) = y_i = f(x_i), \quad i=0,1,\dots,n \]

\(S(x)\) 在所有节点上取到被插函数的函数值,则称 \(S(x)\)三次样条插值函数


三、参数自由度分析:为什么需要边界条件?

很多同学会疑惑:为什么定义完插值条件,还要额外加边界条件?我们通过参数计数来彻底讲清这个问题。

  1. 总待定参数:整个区间被划分为 \(n\) 个小区间,每个小区间上的三次多项式有4个待定系数,因此总共有 \(4n\) 个待定参数。

  2. 已有的约束条件

    • 插值条件:\(n+1\) 个节点,每个节点要求 \(S(x_i)=y_i\),共 \(n+1\) 个条件;
    • 内点连续性条件:在 \(n-1\) 个内节点 \(x_1,x_2,\dots,x_{n-1}\) 处,要求函数值、一阶导数、二阶导数都连续,即:

      \[S(x_k-0)=S(x_k+0),\ S'(x_k-0)=S'(x_k+0),\ S''(x_k-0)=S''(x_k+0) \]

      每个内节点有3个条件,共 \(3(n-1)=3n-3\) 个条件。
  3. 条件总数与自由度缺口
    现有条件总数为 \((n+1)+(3n-3)=4n-2\) 个,而总待定参数有 \(4n\) 个,因此还差2个独立条件,才能唯一确定 \(S(x)\)

这2个条件通常加在区间的两个端点 \(x_0=a\)\(x_n=b\) 上,称为边界条件


四、常见的边界条件

工程中最常用的边界条件有两类,我们分别讲解其数学形式和物理意义:

1. 固支边界(一阶导数已知边界)

直接给定区间两端的一阶导数值,数学形式为:

\[S'(x_0) = f'_0, \quad S'(x_n) = f'_n \]

  • 物理意义:对应样条木条的两端被“夹紧固定”,不能转动,端点处的斜率被严格约束,也叫夹紧边界。
  • 适用场景:已知被插函数在端点处的斜率,比如曲线的端点切线方向已知。

2. 二阶导数已知边界

直接给定区间两端的二阶导数值,数学形式为:

\[S''(x_0) = f''_0, \quad S''(x_n) = f''_n \]

其最常用的特殊情况是自然边界条件

\[S''(x_0) = S''(x_n) = 0 \]

  • 物理意义:自然边界对应样条木条的两端“自由放置”,端点处弯矩为0,没有弯曲,因此端点处退化为直线,是工程中最常用的边界条件(当不知道端点导数时,默认使用自然边界)。
  • 适用场景:无额外端点信息的通用插值,比如数据拟合、曲线平滑。

五、三次样条插值函数的构造:三弯矩方程的完整推导

构造三次样条的核心方法是三弯矩法,我们以节点处的二阶导数 \(M_i = S''(x_i)\) 为未知量(\(M_i\) 在力学上对应样条梁的弯矩,因此该方法称为三弯矩法),一步步推导完整的求解方程。

步骤1:写出小区间上二阶导数的表达式

\(S(x)\) 在每个小区间 \([x_j, x_{j+1}]\) 上是三次多项式,因此其二阶导数 \(S''(x)\) 在该区间上是一次多项式(线性函数)

记小区间步长 \(h_j = x_{j+1} - x_j\),区间两端的二阶导数为 \(M_j = S''(x_j)\)\(M_{j+1} = S''(x_{j+1})\),通过两点线性插值,直接写出 \(S''(x)\)\([x_j, x_{j+1}]\) 上的表达式:

\[S''_j(x) = M_j \cdot \frac{x_{j+1} - x}{h_j} + M_{j+1} \cdot \frac{x - x_j}{h_j}, \quad x \in [x_j, x_{j+1}] \]

步骤2:积分两次得到三次样条的表达式

\(S''_j(x)\) 积分两次,即可得到 \(S_j(x)\) 的表达式,积分过程会产生两个积分常数,我们用插值条件 \(S_j(x_j)=y_j\)\(S_j(x_{j+1})=y_{j+1}\) 确定。

  • 第一次积分(求一阶导数):

    \[S'_j(x) = \int S''_j(x) dx + C_1 = -M_j \cdot \frac{(x_{j+1}-x)^2}{2h_j} + M_{j+1} \cdot \frac{(x-x_j)^2}{2h_j} + C_1 \]

  • 第二次积分(求原函数):

    \[S_j(x) = \int S'_j(x) dx + C_2 = M_j \cdot \frac{(x_{j+1}-x)^3}{6h_j} + M_{j+1} \cdot \frac{(x-x_j)^3}{6h_j} + C_1 x + C_2 \]

将插值条件 \(S_j(x_j)=y_j\)\(S_j(x_{j+1})=y_{j+1}\) 代入,解出积分常数 \(C_1,C_2\),再代回原式整理,最终得到小区间上三次样条的标准表达式:

\[\begin{aligned} S_j(x) =& M_j \cdot \frac{(x_{j+1}-x)^3}{6h_j} + M_{j+1} \cdot \frac{(x-x_j)^3}{6h_j} \\ &+ \left( y_j - \frac{M_j h_j^2}{6} \right) \cdot \frac{x_{j+1}-x}{h_j} + \left( y_{j+1} - \frac{M_{j+1} h_j^2}{6} \right) \cdot \frac{x-x_j}{h_j} \end{aligned} \]

该式的物理意义非常清晰:前两项是弯矩对应的弯曲变形项,后两项是满足插值条件的线性项。

步骤3:利用一阶导数连续建立内点方程

我们的核心目标是求解未知量 \(M_0,M_1,\dots,M_n\),因此需要利用内节点处一阶导数连续的条件:\(S'_j(x_j + 0) = S'_{j-1}(x_j - 0)\)(右导数=左导数)。

首先,对 \(S_j(x)\) 求导,得到一阶导数的表达式:

\[S'_j(x) = -M_j \cdot \frac{(x_{j+1}-x)^2}{2h_j} + M_{j+1} \cdot \frac{(x-x_j)^2}{2h_j} + \frac{y_{j+1}-y_j}{h_j} - \frac{M_{j+1}-M_j}{6} h_j \]

(1)求内节点处的右导数 \(S'_j(x_j + 0)\)

\(x=x_j\) 代入 \(S'_j(x)\),化简得:

\[S'_j(x_j + 0) = -\frac{h_j}{3}M_j - \frac{h_j}{6}M_{j+1} + \frac{y_{j+1}-y_j}{h_j} \]

(2)求内节点处的左导数 \(S'_{j-1}(x_j - 0)\)

将区间换为 \([x_{j-1},x_j]\),步长为 \(h_{j-1}=x_j - x_{j-1}\),代入 \(x=x_j\) 化简得:

\[S'_{j-1}(x_j - 0) = \frac{h_{j-1}}{6}M_{j-1} + \frac{h_{j-1}}{3}M_j + \frac{y_j - y_{j-1}}{h_{j-1}} \]

(3)建立内点方程

令左右导数相等,整理方程:

\[-\frac{h_j}{3}M_j - \frac{h_j}{6}M_{j+1} + \frac{y_{j+1}-y_j}{h_j} = \frac{h_{j-1}}{6}M_{j-1} + \frac{h_{j-1}}{3}M_j + \frac{y_j - y_{j-1}}{h_{j-1}} \]

为了简化方程,我们定义三个系数:

  • 权重系数:\(\mu_j = \frac{h_{j-1}}{h_{j-1}+h_j}\)\(\lambda_j = \frac{h_j}{h_{j-1}+h_j}\),显然 \(\mu_j + \lambda_j = 1\)
  • 右端项:\(d_j = 6 \cdot \frac{\frac{y_{j+1}-y_j}{h_j} - \frac{y_j - y_{j-1}}{h_{j-1}}}{h_{j-1}+h_j} = 6 f[x_{j-1},x_j,x_{j+1}]\),其中 \(f[x_{j-1},x_j,x_{j+1}]\) 是被插函数的二阶差商。

将系数代入方程,最终得到三弯矩方程的内点公式

\[\boldsymbol{\mu_j M_{j-1} + 2 M_j + \lambda_j M_{j+1} = d_j, \quad j=1,2,\dots,n-1} \]

该式是关于 \(M_j\) 的线性方程,每个方程仅涉及相邻三个未知量,因此最终的方程组是三对角线性方程组。

步骤4:结合边界条件得到完整方程组

我们有 \(n-1\) 个内点方程,对应 \(n+1\) 个未知量 \(M_0 \sim M_n\),需要结合边界条件补充2个方程,得到封闭的方程组。

(1)固支边界(一阶导数已知)

\(S'(x_0)=f'_0\)\(S'(x_n)=f'_n\) 代入一阶导数表达式,整理得到两个端点方程:

\[\begin{cases} 2M_0 + M_1 = \frac{6}{h_0}\left( f[x_0,x_1] - f'_0 \right) \\ M_{n-1} + 2M_n = \frac{6}{h_{n-1}}\left( f'_n - f[x_{n-1},x_n] \right) \end{cases} \]

将内点方程和端点方程合并,写成矩阵形式(三对角矩阵):

\[\begin{pmatrix} 2 & \lambda_0 & & & \\ \mu_1 & 2 & \lambda_1 & & \\ & \ddots & \ddots & \ddots & \\ & & \mu_{n-1} & 2 & \lambda_{n-1} \\ & & & \mu_n & 2 \end{pmatrix} \begin{pmatrix} M_0 \\ M_1 \\ \vdots \\ M_{n-1} \\ M_n \end{pmatrix} = \begin{pmatrix} d_0 \\ d_1 \\ \vdots \\ d_{n-1} \\ d_n \end{pmatrix} \]

其中 \(\lambda_0=1, \mu_n=1\)\(d_0,d_n\) 为端点方程的右端项。

(2)二阶导数已知边界

该边界条件直接给出 \(M_0=f''_0\)\(M_n=f''_n\),无需额外推导,直接将 \(M_0\)\(M_n\) 代入内点方程,即可得到关于 \(M_1 \sim M_{n-1}\)\(n-1\) 阶三对角方程组。

  • 自然边界条件:直接令 \(M_0=0, M_n=0\),代入内点方程即可。

步骤5:解的唯一性与求解方法

上述三对角方程组的系数矩阵是严格对角占优矩阵(对角线元素为2,非对角线元素绝对值之和为 \(\mu_j+\lambda_j=1 < 2\)),根据线性代数理论,严格对角占优矩阵非奇异,因此方程组有且仅有唯一解,即三次样条插值函数是唯一的。

求解该方程组的最优方法是追赶法(Thomas算法),计算复杂度仅为 \(O(n)\),远低于高斯消元的 \(O(n^3)\),计算效率极高。解出 \(M_0 \sim M_n\) 后,代回小区间的样条表达式,即可得到完整的三次样条插值函数。


六、三次样条插值的核心性质

  1. 超高光滑性:整体达到 \(C^2\) 连续,二阶导数连续,曲率连续,完全满足工程中对曲线光滑度的核心需求;
  2. 无条件一致收敛性:若被插函数 \(f(x) \in C^2[a,b]\),当最大步长 \(h \to 0\) 时,\(S(x)\)\([a,b]\) 上一致收敛到 \(f(x)\),且其一阶、二阶导数也一致收敛,收敛性远优于分段低次插值;
  3. 极佳的数值稳定性:具有局部支撑特性,单个节点的数据扰动仅影响相邻的2~3个小区间,不会出现高次插值的龙格振荡现象;
  4. 计算高效性:三对角方程组用追赶法求解,计算量小,适合大规模节点的插值计算。

七、核心知识点归纳总结表

表1 各类插值方法核心特性对比

对比维度 高次拉格朗日插值 分段线性插值 分段三次埃尔米特插值 三次样条插值
光滑性 无穷阶可导,全局 \(C^\infty\) 仅函数连续,\(C^0\) 一阶导数连续,\(C^1\) 二阶导数连续,\(C^2\)
插值条件 节点处函数值相等 节点处函数值相等 节点处函数值+一阶导数值相等 节点处函数值相等,仅需端点边界条件
待定参数总数 \(n+1\)(n次多项式) \(2n\) \(4n\) \(4n\)
收敛性 等距节点下不保证收敛,存在龙格现象 只要 \(f \in C[a,b]\)\(h \to 0\) 时一致收敛 只要 \(f \in C^1[a,b]\)\(h \to 0\) 时一致收敛 只要 \(f \in C^2[a,b]\)\(h \to 0\) 时一致收敛,一、二阶导数也收敛
误差阶(光滑性足够) 理论 \(O(h^{n+1})\),实际发散 \(O(h^2)\) \(O(h^4)\) \(O(h^4)\)
数值稳定性 极差,全局支撑,节点扰动影响全局 极好,局部支撑,扰动仅影响相邻区间 极好,局部支撑,扰动仅影响相邻区间 极好,局部支撑,扰动仅影响相邻区间
核心优点 全局光滑性极高,表达式单一 形式极简,计算量极小,无条件收敛 光滑性较好,收敛速度快,精度高 光滑性最优,曲率连续,工程适用性最强
核心缺点 高次振荡,龙格现象,稳定性极差 光滑性极差,有尖点,精度低 需要节点处一阶导数值,额外信息需求大 需要求解线性方程组,计算量略高于分段插值
适用场景 仅适用于n≤7的低次插值,几乎无工程应用 粗粒度快速插值,对光滑性无要求的场景 已知节点导数,对一阶光滑有要求的场景 航空、造船、汽车、图形学等对曲线光滑度要求高的工程场景

表2 三次样条常用边界条件对比

边界条件类型 数学形式 物理意义 适用场景
固支边界(一阶导数已知) \(S'(x_0)=f'_0,\ S'(x_n)=f'_n\) 样条两端被夹紧,斜率固定,不能转动 已知端点切线方向,如曲线拼接、指定端点斜率的设计场景
二阶导数已知边界 \(S''(x_0)=f''_0,\ S''(x_n)=f''_n\) 样条两端弯矩固定,弯曲程度被约束 已知端点曲率,如结构力学、曲线平滑过渡场景
自然边界条件 \(S''(x_0)=0,\ S''(x_n)=0\) 样条两端自由,弯矩为0,端点退化为直线 无额外端点信息的通用插值,是工程默认边界条件

最终核心结论

三次样条插值是数值插值中“光滑性、收敛性、稳定性、计算效率”的最优平衡点,它彻底解决了高次插值的龙格现象,同时弥补了分段低次插值光滑性不足的短板,是目前工程领域应用最广泛的插值方法,也是计算机图形学、CAD/CAM、逆向工程等领域的核心基础算法。


三次样条插值 例题详解与知识点总结

一、例2.7 完整推导与详解

题目回顾

已知区间 \([27.7,30]\) 上的节点与函数值:
\(x_0=27.7,\ f(x_0)=4.1\)\(x_1=28,\ f(x_1)=4.3\)\(x_2=29,\ f(x_2)=4.1\)\(x_3=30,\ f(x_3)=3.0\)
边界条件:\(S'(27.7)=3.0\)\(S'(30)=-4.0\),求满足条件的三次样条函数 \(S(x)\)


步骤1:确定小区间步长 \(h_j\)

步长定义:\(h_j = x_{j+1}-x_j\),计算得:

\[h_0 = x_1-x_0 = 28-27.7=0.3,\quad h_1=x_2-x_1=1,\quad h_2=x_3-x_2=1 \]

步骤2:计算权重系数 \(\mu_j、\lambda_j\)

对内点 \(j=1,2\),权重公式为:

\[\mu_j = \frac{h_{j-1}}{h_{j-1}+h_j},\quad \lambda_j = \frac{h_j}{h_{j-1}+h_j},\quad \mu_j+\lambda_j=1 \]

  • \(j=1\)\(\mu_1=\frac{h_0}{h_0+h_1}=\frac{0.3}{1.3}=\frac{3}{13}\)\(\lambda_1=\frac{h_1}{h_0+h_1}=\frac{10}{13}\)
  • \(j=2\)\(\mu_2=\frac{h_1}{h_1+h_2}=\frac{1}{2}\)\(\lambda_2=\frac{h_2}{h_1+h_2}=\frac{1}{2}\)

对一阶导数已知的固支边界,补充边界系数:\(\lambda_0=1\)\(\mu_3=1\)

步骤3:计算方程组右端项 \(d_j\)

首先计算一阶差商 \(f[x_j,x_{j+1}]=\frac{f(x_{j+1})-f(x_j)}{h_j}\)

\[f[x_0,x_1]=\frac{4.3-4.1}{0.3}=\frac{2}{3},\quad f[x_1,x_2]=\frac{4.1-4.3}{1}=-0.2,\quad f[x_2,x_3]=\frac{3.0-4.1}{1}=-1.1 \]

再根据公式计算 \(d_j\)

  • 左边界(\(j=0\)):\(d_0=\frac{6}{h_0}\left(f[x_0,x_1]-f'_0\right)=\frac{6}{0.3}\left(\frac{2}{3}-3\right)=-\frac{140}{3}\approx-46.6666\)
  • 内点 \(j=1\)\(d_1=6\cdot\frac{f[x_1,x_2]-f[x_0,x_1]}{h_0+h_1}=6\cdot\frac{-0.2-2/3}{1.3}=-4\)
  • 内点 \(j=2\)\(d_2=6\cdot\frac{f[x_2,x_3]-f[x_1,x_2]}{h_1+h_2}=6\cdot\frac{-1.1+0.2}{2}=-2.7\)
  • 右边界(\(j=3\)):\(d_3=\frac{6}{h_2}\left(f'_3-f[x_2,x_3]\right)=6\cdot\left(-4+1.1\right)=-17.4\)

步骤4:建立三弯矩方程组

三弯矩方程的通用形式为 \(\mu_j M_{j-1}+2M_j+\lambda_j M_{j+1}=d_j\),结合边界条件得到4阶方程组:

\[\begin{cases} 2M_0 + M_1 = -46.6666 \\ \frac{3}{13}M_0 + 2M_1 + \frac{10}{13}M_2 = -4 \\ \frac{1}{2}M_1 + 2M_2 + \frac{1}{2}M_3 = -2.7 \\ M_2 + 2M_3 = -17.4 \end{cases} \]

矩阵形式为:

\[\begin{pmatrix} 2 & 1 & & \\ \frac{3}{13} & 2 & \frac{10}{13} & \\ & \frac{1}{2} & 2 & \frac{1}{2} \\ & & 1 & 2 \end{pmatrix} \begin{pmatrix} M_0 \\ M_1 \\ M_2 \\ M_3 \end{pmatrix} = \begin{pmatrix} -46.6666 \\ -4 \\ -2.7 \\ -17.4 \end{pmatrix} \]

步骤5:求解三对角方程组(追赶法)

通过消元求解得:

\[M_0\approx-23.531,\quad M_1\approx0.396,\quad M_2\approx0.830,\quad M_3\approx-9.115 \]

步骤6:代入样条表达式,写出分段函数

三次样条在小区间 \([x_j,x_{j+1}]\) 上的标准表达式为:

\[S_j(x) = M_j\frac{(x_{j+1}-x)^3}{6h_j} + M_{j+1}\frac{(x-x_j)^3}{6h_j} + \left(y_j-\frac{M_j h_j^2}{6}\right)\frac{x_{j+1}-x}{h_j} + \left(y_{j+1}-\frac{M_{j+1} h_j^2}{6}\right)\frac{x-x_j}{h_j} \]

分区间代入计算,最终得到:

\[S(x)= \begin{cases} 13.07278(x-28)^3 -14.84322(x-28) + 0.22000(x-27.7)^3 + 14.31353(x-27.7), & x\in[27.7,28] \\ 0.06600(29-x)^3 +4.23400(29-x) +0.13833(x-28)^3 +3.96167(x-28), & x\in[28,29] \\ 0.13833(30-x)^3 +3.96167(30-x) -1.51917(x-29)^3 +4.51917(x-29), & x\in[29,30] \end{cases} \]


二、例2.8 核心意义解读

题目与结论

对龙格函数 \(f(x)=\frac{1}{1+x^2},x\in[-5,5]\),取等距节点 \(x_k=-5+k\ (k=0,1,\dots,10)\),边界条件取 \(S'(-5)=f'(-5),S'(5)=f'(5)\),构造三次样条插值 \(S_{10}(x)\),并与10次拉格朗日插值 \(L_{10}(x)\) 对比。

核心结论

  1. 无龙格现象:在区间两端(如 \(x=-4.8\)),\(L_{10}(x)=1.80439\),与真实值 \(f(x)=0.04160\) 严重偏离;而 \(S_{10}(x)=0.04162\),误差极小,彻底解决了高次插值的振荡发散问题。
  2. 全局高精度:在整个区间上,\(S_{10}(x)\)\(f(x)\) 的误差始终保持在极小范围,而 \(L_{10}(x)\) 越靠近区间两端误差越大。
  3. 导数收敛性:三次样条不仅函数值收敛,其一阶、二阶导数也收敛到原函数的导数,保证了曲线的光滑性。

三、三次样条插值的误差界与收敛性定理

定理2.5 完整表述

\(f(x)\in C^4[a,b]\)\(S(x)\) 为满足固支边界(一阶导数已知)二阶导数已知边界的三次样条函数,记 \(h_j=x_{j+1}-x_j\)\(h=\max_{0\leq j\leq n-1}h_j\),则有误差估计式:

\[\max_{a\leq x\leq b} \left|f^{(k)}(x) - S^{(k)}(x)\right| \leq C_k \cdot \max_{a\leq x\leq b}\left|f^{(4)}(x)\right| \cdot h^{4-k},\quad k=0,1,2 \]

其中常数 \(C_0=\frac{5}{384},\ C_1=\frac{1}{24},\ C_2=\frac{3}{8}\)

定理核心解读

  1. 收敛阶

    导数阶数 \(k\) 误差阶 物理意义
    0(函数值) \(O(h^4)\) 四阶收敛,与分段三次埃尔米特插值精度一致
    1(一阶导数) \(O(h^3)\) 三阶收敛,保证斜率的收敛性
    2(二阶导数) \(O(h^2)\) 二阶收敛,保证曲率的收敛性
  2. 收敛性结论
    \(h\to0\)(节点无限加密)时,\(S(x)\)\(S'(x)\)\(S''(x)\)\([a,b]\)分别一致收敛\(f(x)\)\(f'(x)\)\(f''(x)\),这是三次样条插值区别于其他插值方法的核心优势。

  3. 适用条件
    仅要求被插函数四阶连续可导,边界条件为工程中最常用的两类,因此该定理具有极强的工程实用性。


四、核心知识点归纳总结表

表1 三次样条插值核心特性总结

项目 核心内容
定义 满足 \(S(x)\in C^2[a,b]\),且在每个小区间 \([x_j,x_{j+1}]\) 上为三次多项式的函数;满足插值条件 \(S(x_i)=y_i\) 时称为三次样条插值函数
参数自由度 \(n\) 个小区间共 \(4n\) 个待定参数,插值条件+内点连续性条件共 \(4n-2\) 个方程,需补充2个边界条件
常用边界条件 1. 固支边界:\(S'(x_0)=f'_0,\ S'(x_n)=f'_n\)(端点斜率已知)
2. 二阶导数已知边界:\(S''(x_0)=f''_0,\ S''(x_n)=f''_n\)
3. 自然边界:\(S''(x_0)=S''(x_n)=0\)(端点弯矩为0,退化为直线)
构造方法 三弯矩法:以节点二阶导数 \(M_i=S''(x_i)\) 为未知量,建立三对角线性方程组,用追赶法求解后代入样条表达式
核心优势 1. 光滑性最优:二阶导数连续,曲率连续,满足工程高精度光滑需求
2. 无龙格现象:全局一致收敛,无高次插值的振荡发散问题
3. 稳定性强:局部支撑,单个节点扰动仅影响相邻区间
4. 精度高:函数值误差为四阶收敛
核心局限 需求解线性方程组,计算量略高于分段低次插值;仅二阶光滑,无法满足更高阶光滑需求
适用场景 航空航天、造船、汽车车身设计、计算机图形学、CAD/CAM、数据平滑等对曲线光滑度要求高的工程场景

表2 各类插值方法收敛性与光滑性对比

插值方法 光滑性 函数值收敛阶 导数收敛性 有无龙格现象
高次拉格朗日插值 \(C^\infty\) 理论 \(O(h^{n+1})\),实际发散 不收敛
分段线性插值 \(C^0\) \(O(h^2)\) 不收敛
分段三次埃尔米特插值 \(C^1\) \(O(h^4)\) 一阶导数 \(O(h^3)\) 收敛
三次样条插值 \(C^2\) \(O(h^4)\) 一阶导数 \(O(h^3)\)、二阶导数 \(O(h^2)\) 收敛

posted on 2026-02-21 13:02  Indian_Mysore  阅读(1)  评论(0)    收藏  举报

导航