插值是指在已知数据点之间估计一个数值。如果你想求的 xx 值位于已有数据范围之内,插值就能帮助你估计对应缺失的 yy 值。

最简单的情况是线性插值,它在两个点之间使用一条直线。多项式插值则使用一个能精确通过多个点的多项式。拉格朗日插值是在已知 xx 值互不相同时,写出这个多项式的一种标准公式。

如果未知的 xx 落在已知范围之外,那么你做的就是外推。这是另一类问题,而且通常没有插值可靠。

线性插值公式

设你已知两点 (x0,y0)(x_0, y_0)(x1,y1)(x_1, y_1),其中 x0x1x_0 \ne x_1。当 xx 位于 x0x_0x1x_1 之间时,线性插值使用

y=y0+xx0x1x0(y1y0)y = y_0 + \frac{x - x_0}{x_1 - x_0}(y_1 - y_0)

它的原理是:先计算从 x0x_0xx 的水平距离占从 x0x_0x1x_1 的几分之几,再把同样的比例应用到从 y0y_0y1y_1 的竖直变化上。如果真实关系在这个区间内本来就是线性的,那么结果就是精确的;否则它只是一个局部估计。

线性插值例子

假设已知点是 (1,3)(1, 3)(4,15)(4, 15),你想求 x=2x = 2 时的值。

使用线性插值公式:

y=3+2141(153)y = 3 + \frac{2 - 1}{4 - 1}(15 - 3)

现在化简:

y=3+1312y = 3 + \frac{1}{3} \cdot 12 y=3+4=7y = 3 + 4 = 7

所以插值得到的值是 y=7y = 7。这很合理,因为 x=2x = 2 在从 1144 的路程中正好走了三分之一,所以输出值也会从 331515 前进三分之一。

多项式插值:精确通过多个点

如果你有两个以上且 xx 值互不相同的点,多项式插值会寻找一个能通过所有这些点的多项式。对于 n+1n+1xx 值互不相同的点,恰好存在一个次数不超过 nn 的多项式与它们完全匹配。

例如,两个点最多确定一条直线,三个点最多确定一个二次多项式,四个点最多确定一个三次多项式。当你想要一个既平滑又能精确匹配采样值的公式时,这种方法很有用。

但代价是,精确拟合并不总意味着点与点之间的表现也好。当点很多,或者点之间间隔较大时,高次插值多项式可能会出现明显振荡,尤其是在区间两端附近。

拉格朗日插值公式

拉格朗日插值是一种直接写出插值多项式的方法。如果你有点 (x0,y0),(x1,y1),,(xn,yn)(x_0, y_0), (x_1, y_1), \dots, (x_n, y_n),且各个 xix_i 互不相同,那么拉格朗日形式为

P(x)=i=0nyiLi(x)P(x) = \sum_{i=0}^{n} y_i L_i(x)

其中

Li(x)=j=0jinxxjxixjL_i(x) = \prod_{\substack{j=0 \\ j \ne i}}^{n} \frac{x - x_j}{x_i - x_j}

每个基多项式 Li(x)L_i(x) 都被构造为:在 xix_i 处等于 11,在其他已知的 xx 值处等于 00。正因为如此,这个求和式才能在每个数据点上保留正确的 yiy_i

当你想根据一小组点得到一个精确的插值多项式时,通常会使用拉格朗日形式。它在概念上很清晰,但在更大的数值计算问题中,人们往往更偏好其他形式,因为它们计算起来更稳定。

插值与外推

插值是在已知 xx 值范围内进行估计。外推则是把估计延伸到这个范围之外。

这个区别很重要,因为插值依托于附近的已知数据。若底层规律在观测区间之外发生变化,外推就可能很快失效。

常见的插值错误

在数据范围之外使用插值

如果 xx 落在已知区间之外,那么这个计算就不再是插值,而变成了外推,而外推通常可靠性更低。

误以为精确拟合就等于真实精确

一个多项式可以精确通过测量得到的数据点,但它在这些点之间仍可能不是现实情况的好模型,尤其是在数据含有噪声时。

忘记 xx 值必须互不相同

对于标准插值公式,已知的 xx 值必须互不相同。如果两个数据点有相同的 xx,却对应不同的 yy,那么同一个函数不可能同时通过这两个点。

过快选择高次数

把所有数据点都放进一个高次多项式中,可能会导致不稳定的表现。实际中,当点很多时,通常更倾向于使用样条等分段方法。

插值的应用场景

插值出现在数值分析、计算机图形学、查表、信号处理和科学计算中。只要你知道若干选定点上的数值,却需要中间位置的合理估计,插值就会很有用。

在初等数学课程中,它也把斜率、函数、多项式和近似这些概念联系到了一起:利用已知结构去估计中间的未知值。

试做一道类似的插值题

取点 (2,4)(2, 4)(8,19)(8, 19),用线性插值估计 x=5x = 5 时的值。然后思考:在这个区间上,用一条直线来估计是否合理。

如果你想在自己列式后快速核对,可以在求解器里试试你自己的版本,并把得到的直线方程与你的结果进行比较。

需要解题帮助?

上传你的问题,几秒钟内获得经过验证的分步解答。

打开 GPAI Solver →