常微分方程的數值方法

全域誤差(global error)

如果你靠一連串略有偏差的羅盤方位走向目的地,每個方位只錯了一點點,但這些小誤差在整段旅程中會堆積起來。ODE 求解器的全域誤差,是真解與數值解在行進「終點」處的差距——不是任何單一步的偏差,而是所有步進結束後累積的總差異。

形式上,時間 t_n 處的全域誤差是 e_n = y(t_n) - y_n,即該格點上精確解與算出值之差。它由兩樣東西構成:每一步新引入的局部截斷誤差,以及先前誤差被後續步驟傳播(有時放大)的方式。一個了不起又令人安心的結果是:對「穩定」的方法,這些誤差「不會」單純相加釀成災難:全域誤差比局部誤差「大一個」h 次方,而非局部誤差乘上龐大的步數。對前向歐拉法,O(h^2) 的局部誤差走約 1/h 步,得到 O(h) 的全域誤差——一階。直覺是:你犯下約 (T/h) 個大小 O(h^2) 的誤差,而 (T/h)*h^2 = O(h)。

全域誤差才是你真正關心的數字,而它隨 h 的縮放正是方法的「階」。一個 p 階方法的全域誤差是 O(h^p):把 h 減半使最終誤差縮為 2^p 分之一(四階 RK4 是 16 倍)。誠實之處在於:這種乾淨的縮放只在方法「穩定」時成立——若誤差被放大而非僅被傳播(步長不穩、用顯式方法解剛性問題),即使每個局部誤差都微小,全域誤差仍可能無界成長。光有相容性不夠;相容性加上零穩定才保證全域誤差在 h -> 0 時消失。

用前向歐拉法把 y' = y 解到 t = 1。h = 0.1 時答案是 2.594(誤差 0.124);h = 0.05 時是 2.653(誤差 0.065);h = 0.025 時是 2.685(誤差 0.033)。每次把 h 減半,誤差大致減半——這是一階方法 O(h) 不會看錯的特徵。同一問題若用 RK4,每次減半會把誤差縮為 16 分之一。

全域誤差以 h^p 縮放;指數 p 就是方法的階。

「全域誤差 = 局部誤差乘步數」這個整齊的圖像以穩定為前提。在剛性問題上用過大的顯式步長時,先前的誤差是被放大而非僅被攜帶,全域誤差可能爆掉,而每個局部誤差都極微小——一旦方法不穩,階的分析就毫無意義。

又稱
accumulated errortotal error累積誤差整體誤差