數學計算機科學中,Heun法亦被稱為改進的[1]修改過的歐拉方法(即,顯式的梯形規則[2]),或類似的二階的龍格-庫塔法。它是以德國數學家卡爾·休恩英語Karl Heun的名字命名的,是求解給定初值常微分方程數值方法。這兩個變體可以被看作是把歐拉方法擴展為兩級二階龍格-庫塔法。

通過Heun法計算初值問題數值解的過程步驟:

根據Heun法,首先計算中間值,然後計算在下一個積分點的最終近似值

簡介

 
Heun法的圖示。

歐拉方法是Heun法的基礎。歐拉方法利用區間開端端點的函數切線,來估計函數在此區間內的斜率,並假設著如果步長很小,誤差就很小。然而,即使在步長非常小的情況下,由於大量步驟的積累誤差使估計偏離實際函數的值。

如果解曲線是凹向上的,其切線將估小下一個預測點的縱坐標。理想的預測線應該在它的下一個預測點剛好與曲線相交。而實際上,沒有辦法知道函數是凹向上還是向下凹的,因此,也不能確定下一個預測點會高估或低估其縱向值。而且也不能保證曲線一直保持一致的凹凸性,所以在解域的不同點預測可能分別有高估和低估的情況。

Heun法處理這個問題的方式,是通過考慮切線段所跨越的整個區間。以一個上凹函數為例子,以區間左端點所作的切線預測低估了該曲線在整個區間上的斜率,而如果使用右端點的切線則會高估曲線在整個區間上的斜率(可以使用歐拉方法估計)。[3] 由左端點出發的切線點,其縱坐標都低於相應的在解曲線上的點,包括區間的右端點。解決的辦法就是使斜率某程度變大些。Heun法考慮到解曲線在兩端的切線,其中一個低估而另外一個高估了理想的縱坐標。預測線必須基於右端點切線斜率來單獨構建(採用歐拉方法估計)。如果這個坡通過區間的左端點,結果顯然是太陡,高估了理想點。因此,理想點位於大約高估和低估之間,即兩個斜率的平均值。

參考

  1. ^ Süli, Endre; Mayers, David. An Introduction to Numerical Analysis. Cambridge University Press. 2003. ISBN 0-521-00794-1. 
  2. ^ Ascher, Uri M.; Petzold, Linda R. Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations. Philadelphia: Society for Industrial and Applied Mathematics. 1998. ISBN 978-0-89871-412-8. 
  3. ^ Numerical Methods for Solving Differential Equations. San Joaquin Delta College. [2013-11-28]. (原始內容存檔於2009-02-12).