龙格现象:采样点误差为零,插值曲线却给出了不可能的值
一、问题的提法:不比误差,比值域
用一条高次多项式精确穿过一排等间距的采样点,点越多,曲线在两端甩得越厉害。
这是龙格现象(Runge's phenomenon)的一句话版本。但要把它变成一条能写进代码评审的判据,还差一步。
常见的讨论方式是「误差有多大」——误差 1.9 听起来还能接受,误差 0.05 就很好。但「多大算大」永远可以争论,不同项目、不同量纲的标准都不一样。
本文换个角度:只看值域。曲线有没有跑到函数根本不可能到达的地方去?
这个提法的好处是,它把问题从「定量比较」变成了「定性判定」:越界与否是一个布尔答案,不需要约定阈值,也不需要争论。
二、先给真函数划一把尺子
Runge 1901 年用的经典函数是:
f(x) = 1 / (1 + 25x²), x ∈ [-1, 1]在动手插值之前,先把它的值域算出来。这一步不是形式主义,它给了我们一把尺子。
| 位置 | 值 |
|---|---|
| x = 0(峰顶) | 1 |
| x = ±0.5 | ≈ 0.138 |
| x = ±1(最低) | 1/26 ≈ 0.0385 |