插值與函數逼近

龍格現象(Runge's phenomenon)

/ ROONG-uh /

常識說:要把曲線擬合得更好,就在更多點取樣並用更高次的多項式。龍格令人不安地發現,這可能驚人地適得其反。在「許多」等距點上用單一高次多項式插值一個完全平滑、漂亮的函數,可能產生一條在兩端附近越來越劇烈振盪的曲線——而且隨著加點,誤差可以無界增長。

經典範例是區間 [-1, 1] 上的鐘形函數 f(x) = 1 / (1 + 25 x^2)。在等距節點上插值它:少數幾點時擬合看起來不錯,但隨著次數攀升,插值多項式在 x = +/-1 附近長出巨大的搖擺,遠遠盪到真實曲線之上與之下,中段卻仍貼近。把點數加倍只會讓端點振盪「更糟」,而非更好。插值誤差公式解釋了原因:對等距節點,節點乘積 (x - x_0)...(x - x_n) 在端點附近遠遠大於中央,而對龍格函數,高階導數增長得夠快,使這個端點爆炸壓過分母的 (n+1)!——於是多項式在那裡發散。

這個教訓重塑了數值實務:不要信任等距資料上的單一高次多項式。有兩種標準補救。其一,改變「節點」:像切比雪夫節點那樣讓它們向兩端聚集,這會馴服節點乘積並恢復收斂(搭配重心公式以兼顧速度與穩定)。其二,改變「策略」:放棄單一全域多項式,改用片段低次的片段——樣條——它們從不這樣振盪。龍格現象正是高次插值必須審慎而非盲目進行的首要理由。

在 [-1, 1] 上於 11 個等距點插值 1/(1 + 25x^2):10 次擬合在 x = +/-0.9 附近過衝到約 1.9,而那裡的真實值低於 0.1。用 21 點時過衝增長到超過 60。改用 11 個切比雪夫節點,劇烈振盪便消失。

更多等距點使端點振盪更糟,而非更好。

龍格現象的關鍵在「等距」節點加上高次,而非函數本身糟糕——龍格函數無限平滑。修正方法是節點配置(切比雪夫)或片段化(樣條),絕不是只加更多等距點。

又稱
Runge effect龍格效應Runge振盪