常微分方程的數值方法
局部截斷誤差
假設你作弊:你從恰好落在真解曲線上的一點開始走單獨一步。你用你的方法、以完美的資料走一步,然後問——我的落點離真解實際所在之處差多遠?這個落差,亦即從精確值出發只走一步所犯的誤差,就是局部截斷誤差。它是在最仁慈的條件下檢驗方法的誠實度:沒有過去累積的錯誤,只有公式本身單跳一步的誤差。
精確地說,它衡量方法的更新公式在單一步 h 內,與解的真實行為相差多遠。「截斷」這個名字洩了底:一種方法其實是真解的泰勒展開把高階項砍掉,而局部截斷誤差恰恰就是被丟掉那些項的大小。對尤拉法而言,丟掉的項從 (h^2 / 2) * y'' 開始,所以局部截斷誤差是 h^2 的量級——亦即正比於 h^2。一個局部誤差為 h^(p+1) 量級的方法,稱為 p 階。
局部截斷誤差之所以重要,是因為它是一切麻煩的種子。它是最容易算的東西——只要比較泰勒展開——而且直接告訴你方法的階。但它是局部的,是在理想條件下逐步衡量的;你在長程計算結束時實際看到的誤差是全域截斷誤差,大致等於局部誤差乘以步數。常見的經驗法則是:若局部誤差為 h^(p+1) 量級,則全域誤差為 h^p 量級——少了一次冪,因為誤差在約 1/h 步上累積。
尤拉法來自 y(t+h) = y(t) + h y'(t) + (h^2/2) y''(t) + ...。方法保留前兩項而丟掉其餘。第一個被丟的項 (h^2/2) y'' 就是局部截斷誤差——h^2 量級——這正是為何尤拉法是一階方法(全域誤差為 h 量級)。
局部誤差就是方法在單一步中丟掉的泰勒項。
別把局部誤差和全域誤差搞混。局部截斷誤差看起來比方法的階小一次冪,因為「階」指的是約 1/h 步累積後的「全域」誤差。p 階方法的局部誤差為 h^(p+1) 量級。
又称
另见