§1
插值问题:已知函数在 $n+1$ 个互异节点 $x_0,x_1,\dots,x_n$ 处的值 $y_i=f(x_i)$,求一个"简单"函数 $P_n(x)$(通常取次数 $\le n$ 的多项式)满足
$$P_n(x_i)=y_i,\qquad i=0,1,\dots,n,$$
并在节点之间近似 $f$。插值广泛用于数据拟合、数值积分、微分方程离散化的"构造基函数"环节。
一、拉格朗日插值
基函数定义为
$$L_k(x)=\prod_{\substack{j=0\\ j\neq k}}^{n}\frac{x-x_j}{x_k-x_j},$$
满足 $L_k(x_i)=\delta_{ki}$(仅在 $x_k$ 处为 $1$,其余节点为 $0$)。插值多项式为
$$P_n(x)=\sum_{k=0}^{n}y_k\,L_k(x).$$
它在每个节点处显然取 $y_k$,且次数 $\le n$ 唯一。拉格朗日形式直观,但增删节点需全部重算。
二、插值误差定理
若 $f\in C^{n+1}[a,b]$,则对任意 $x$ 存在 $\xi\in(a,b)$ 使
$$f(x)-P_n(x)=\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{i=0}^{n}(x-x_i).$$
- 误差由 $f$ 的 $(n+1)$ 阶导数与节点分布共同决定。
- 节点越靠近 $x$、分布越密,乘积项越小,误差越小。
- 对次数 $\le n$ 的多项式,其 $(n+1)$ 阶导为 $0$,故插值精确。
三、牛顿差商形式
牛顿形式把插值多项式写成
$$P_n(x)=f[x_0]+f[x_0,x_1](x-x_0)+f[x_0,x_1,x_2](x-x_0)(x-x_1)+\cdots,$$
其中 $f[x_0,\dots,x_k]$ 为 $k$ 阶差商。差商可递推,便于"增加节点时只补一项":
$$f[x_i]=y_i,\qquad f[x_i,\dots,x_{i+k}]=\frac{f[x_{i+1},\dots,x_{i+k}]-f[x_i,\dots,x_{i+k-1}]}{x_{i+k}-x_i}.$$
差商表(示例)节点 $(0,1),(1,3),(2,7)$:
| $x_i$ | $f[\cdot]$ | 一阶 | 二阶 |
|---|---|---|---|
| 0 | 1 | ||
| 1 | 3 | $(3-1)/(1-0)=2$ | |
| 2 | 7 | $(7-3)/(2-1)=4$ | $(4-2)/(2-0)=1$ |
于是 $P_2(x)=1+2(x-0)+1(x-0)(x-1)=x^2+x+1$。
四、龙格现象与样条
在等距节点上提高次数并不总改善精度。以 Runge 函数
$$f(x)=\frac{1}{1+25x^2},\qquad x\in[-1,1]$$
为例:随插值次数升高,区间边缘出现剧烈振荡,误差反而增大——称龙格现象。
对策:
- 分段低次插值(如分段线性、分段二次):在每个子区间用低次多项式,避免全域高次振荡。
- 样条插值:用分段三次多项式,并在连接处要求一、二阶导数连续(三次样条),既光滑又稳定,是工程常用方法。
五、方法对比
| 方法 | 特点 | 适用 |
|---|---|---|
| 拉格朗日 | 形式直观、节点固定 | 小规模、节点不变 |
| 牛顿差商 | 增节点易扩展 | 需逐步加点 |
| 分段线性 | 简单、无振荡 | 大数据、快速 |
| 三次样条 | 光滑、稳定、略复杂 | 高精度光滑曲线 |
六、例题与解答
例题1(二次拉格朗日插值). 节点 $(0,1),(1,3),(2,7)$,构造 $P_2(x)$ 并求 $x=1.5$。
基函数:
$$L_0(x)=\frac{(x-1)(x-2)}{(0-1)(0-2)}=\frac{(x-1)(x-2)}{2},\quad L_1(x)=\frac{(x-0)(x-2)}{(1-0)(1-2)}=-x(x-2),$$
$$L_2(x)=\frac{(x-0)(x-1)}{(2-0)(2-1)}=\frac{x(x-1)}{2}.$$
故
$$P_2(x)=1\cdot L_0+3\cdot L_1+7\cdot L_2=\frac{(x-1)(x-2)}{2}-3x(x-2)+\frac{7x(x-1)}{2}.$$
化简得 $P_2(x)=x^2+x+1$。于是 $P_2(1.5)=2.25+1.5+1=4.75$。验证节点:$P_2(0)=1,P_2(1)=3,P_2(2)=7$,均符合。✓
例题2(误差估计). 对上例,若 $f\in C^3$ 且 $|f'''(\xi)|\le M_3$,则
$$f(x)-P_2(x)=\frac{f'''(\xi)}{3!}\,x(x-1)(x-2).$$
在 $x=1.5$ 处乘积 $x(x-1)(x-2)=1.5\times0.5\times(-0.5)=-0.375$,故
$$|f(1.5)-4.75|\le \frac{M_3}{6}\cdot0.375=\frac{M_3}{16}.$$
只要知道 $M_3$ 上界即可给出误差界。✓
练习
1. 用节点 $(0,0),(1,1),(2,0)$ 构造拉格朗日插值多项式,并计算 $x=0.5$。
2. 写出上题的插值误差表达式(用 $f'''(\xi)$)。
3. 牛顿差商形式相比拉格朗日的主要优点是什么?
4. 简述龙格现象及一种应对方法。
参考答案与提示
1. 仅 $y_1=1$ 非零,故 $P_2(x)=1\cdot L_1(x)$,其中 $L_1=x(x-2)/((1-0)(1-2))=-x(x-2)=2x-x^2$。$P_2(0.5)=1-0.25=0.75$。
2. $f(x)-P_2(x)=\frac{f'''(\xi)}{6}x(x-1)(x-2)$。
3. 增加节点时只需补一项高阶差商,不必重算全部基函数;适合在线 / 递推加点。
4. 等距高次插值在边缘振荡使误差增大;应对:分段低次插值或三次样条。
本章小结
- 插值要求 $P_n(x_i)=y_i$,次数 $\le n$ 的多项式唯一。
- 拉格朗日形式直观;牛顿差商便于增节点。
- 误差 $f-P_n=\frac{f^{(n+1)}(\xi)}{(n+1)!}\prod(x-x_i)$,随节点靠近 $x$ 而减小。
- 等距高次插值有龙格现象,宜用分段 / 样条。
- 选择方法看数据规模与光滑度需求。
互动演示
拖动下方控件观察动态过程。
拉格朗日插值:n 个等距节点拟合 Runge 函数,节点数增大时边缘剧烈振荡(Runge 现象)。