数据集·设置
数据集
默认龙格函数 $f(x)=1/(1+25x^2)$ 在等间隔节点上采样。高次拉格朗日插值会出现龙格现象(端部振荡)。
高亮方法
拉格朗日基底
$$L(x)=\sum_{i=0}^n y_i \prod_{j\neq i}\frac{x-x_j}{x_i-x_j}$$
各区间 $[x_i, x_{i+1}]$ 中三次多项式 $S_i(x)$,连续条件:
$$S_i(x_{i+1})=S_{i+1}(x_{i+1}),\quad S_i'(x_{i+1})=S_{i+1}'(x_{i+1}),\quad S_i''(x_{i+1})=S_{i+1}''(x_{i+1})$$
自然边界:$S''(x_0)=S''(x_n)=0$
龙格现象:等间隔节点的高次多项式插值($n\geq7$左右)在区间端附近产生大振荡。
插值动画(实时)
线性(分段直线)
拉格朗日(振荡)
三次样条(C²)
数据点
理论·主要公式
$$L_i(x) = \prod_{j \neq i} \frac{x - x_j}{x_i - x_j}$$
拉格朗日基底多项式:通过 \(n+1\) 个节点的次数 \(n\) 多项式
$$S_i(x) = a_i + b_i(x-x_i) + c_i(x-x_i)^2 + d_i(x-x_i)^3$$
3次样条:定义于各区间 \([x_i, x_{i+1}]\),连接点处2阶导数连续
插值法·样条插值比较说明
🙋
「插值」就是填补数据点之间的方法,对吧?拉格朗日、牛顿、样条……哪一种最好呢?
🎓
大体上,「最好」的方法取决于数据特性和目的。例如,如果需要光滑曲线,三次样条最好;如果计算简单,线性插值最好。用这个模拟器,自由移动上面的「数据点」,把5种方法并排比较,差异就一目了然了。
🙋
工具说明中有「龙格现象」。高次多项式的振荡具体在什么时候危险呢?
🎓
实际工作中常见的问题是等间隔测得的数据用高次拉格朗日补间连接时。端点附近曲线剧烈摇晃,出现物理上不可能的值。试试模拟器的默认龙格函数 $f(x)=1/(1+25x^2)$,把数据点增加到10个左右,查看「拉格朗日」线。两端会明显向上跳起,那就是龙格现象。
🙋
哎呀,确实在振荡!那么实际CAE中,是不是都用不振荡的「样条」或「PCHIP」呢?
🎓
不一定。样条虽然光滑,但原始数据单调增加时,插值结果可能略有下降——「超调」问题。例如材料的应力-应变曲线那样必须保持单调的数据,常用PCHIP(分段三次埃尔米特插值)。试试用「单调递增的点」,对比样条和PCHIP,就能看出差别。
常见问题
龙格现象是指高次多项式插值(特别是拉格朗日插值)使用等间隔数据点时,区间端附近出现大幅振荡的现象。本工具可通过对光滑曲线(如正弦函数)设置数据,比较拉格朗日插值和三次样条插值的图表,直观确认端部的偏离。
拉格朗日·牛顿插值适合少数点需精确匹配时;三次样条适合需要光滑曲线近似的场景;PCHIP适合保持单调性的数据(如实验值);线性插值适合计算负荷低、插值简单的应用。通过图表比较可确认各自特性。
等间隔数据时,高次拉格朗日插值易出龙格现象,而三次样条和PCHIP相对稳定。不等间隔数据(如切比雪夫点)可抑制拉格朗日插值的振荡。工具可添加·移动点,试验不同配置的效果。
可以在图表上点击添加数据点,也可拖动现有点。但若点过密集或变化剧烈,高次插值可能产生意外振荡。观察比较结果,寻找合适的点配置。
实际应用
CAE·材料工程:材料试验得到的应力-应变曲线是离散数据点集合。FEM分析需要整条曲线信息,因此常用保持单调性的PCHIP插值。振荡的插值会导致物理上不合理的结果。
计算机图形学·形状设计:车辆和飞机的光滑曲面定义使用NURBS(非均匀有理B样条)。这基于B样条(样条插值的推广),少数控制点可表达复杂自由曲面。
计测数据处理:实验和传感器数据通常不等间隔采样。不同时刻数据对齐、求导时,样条插值用于数据重采样。
数值控制(NC)加工:刀具路径的光滑控制使用样条插值。通过给定通过点,用无加速度跳跃的光滑曲线连接,提升加工精度,降低机械磨损。
常见误解和注意事项
首先,「插值次数越高越好」是大误会。拉格朗日插值升高次数会引发龙格现象,例如等间隔10点会导致两端曲线离开原数据远去且剧烈摇晃。这不仅难看,中间点的预测精度反而下降。实际工作中,应根据「数据背后的物理行为」选择方法,而非简单追求次数。
其次,「样条插值是无敌的全能工具」也不对。主要陷阱是「单调性保持」。单调递增数据(如塑性变形区)用样条插值,可能产生微小下降部分(超调),物理上不自然。试试设置(1,1), (2,4), (3,9)这样的单调点,比较样条和PCHIP。PCHIP的曲线严格守住单调性。
还有,在插值点外用插值函数「外推」(预测)很危险。插值函数设计用来填补「点之间」,超出范围会发散到完全无意义的值。CAE设定初值和边界条件时要特别留意。
具体计算示例
机械部件应力分布测量数据,5点(0,0)、(1,50)、(2,120)、(3,180)、(4,200)MPa时,queryX=2.5处各插值结果为:线性插值值150MPa、拉格朗日插值值156MPa、样条插值值154MPa。工业传感器数据处理中数据点间隔不等时,样条插值能抑制龙格现象,信度最高。