單步法

数值分析裡的單步法(one-step methods)和多步法(multistep methods)是求解初值問題的數值方法的兩種分類。常微分方程和初值問題在自然科學、工程物理學中都很重要,在經濟學和社会科学中的重要性也慢慢提高。
單步法背後的基本概念是從給定的起點出發,沿著想要的解,一步一步的計算近似解。單步法只使用最近的資訊計算下一個點的資訊,多步法則不同,多步法還會考慮更早的資訊。單步法粗略可以分為兩類:顯式法是直接計算新的近似值,隱式法是將新的近似值和目前已知的資訊形成方程,需求解方程才能知道新的近似值。後者更適用於刚性方程(stiff equation,其數值分析的解只有在時間間隔很小時才會穩定,只要時間間隔略大,其解就會不穩定)。
最簡單也最古老的單步法,是顯式歐拉法,由萊昂哈德·歐拉在1768年發表。後來,在1883年,出現了許多的多步法。而卡爾·龍格、Karl Heun和馬丁·威廉·庫塔在1900年針對歐拉法進行大幅改進,之後出現了許多龙格-库塔法的算法,也是單步法中最重要的一組算法。二十世紀的發展包括外推的概念、以及考慮步長的控制,也就是在每一步經計算後,選擇下一步的步長。這些概念組成了求解複雜初值問題的基礎,常出現在現有的應用中,利用電腦可以有效率的求解問題,而且可以達到要求的精度。
基本概念
[编辑]考慮以下初值問題的通式,要找到函數滿足以下的方程
其中是已知的函數

若和等比例,則會指數增長。因此,,其成長率是,也有初始條件。此時,可以用初等的微積分配合指数函数求得結果:。
微分方程中所要求的函數其值也可以是向量,也就是針對每一個,是一個個元素的向量。這也是維微分方程的系統。以移動物體為例,是其d維空間中的位置,而是其時間的速度。因此微分方程標示了物體軌跡上每一點的速度方向和大小。就可以由此計算軌跡。
在上述簡化版的指數成長問題中,可以直接求解。但大多數的微分方程問題更複雜,也無法求得解析解。在特定條件下,可以證明針對函數,其初始值問題的解存在,但無法用分析的解法求解(例如分離變數法、指數法或是變分法),因此需要利用數值方法,找到其近似解。
初值問題的數值方法要在各時間,逐步計算待求解函數的值。單步法在計算近似值時,只需要的近似值,與其相對的,多步法在計算近似值時,除了近似值以外,還至少需要,甚至......的值。

最簡單也最基本的單步法就是顯式歐拉法,是瑞士數學家和物理學家萊昂哈德·歐拉於1768年提出的[1]。此方法的概念是由分段線性函數來近似要求的解,而從點到點的斜率是由時的資訊所決定。更深入的說:問題定義只提供了此函數的初值:,而且,此點的斜率也是已知的,。因此,可以確定函數在此點的切線斜率,並以此近似函數在往後時間的特性。在點,可以得到以下的結果,而步長為
- .
此作法可以繼續進行。最後,以下計算的結果就是顯式歐拉法
其遞增量.[2]
顯式歐拉法是許多單步法的基礎,其斜率由其他近似函數在點和點之間行為的運算代替。單步法的另一個概念是來自隱式歐拉法,用為斜率。初看會認為這作法不一定合適,因為此時未知,不過,若以此往下計算,就得到以下的方程
可以以此求解(若有需要的話,也可以用數值方法求解)。例如用顯式歐拉法和隱式歐拉法的算术平均数作為斜率,這就是隱式梯形法。若等式右側未知的用顯式歐拉法近似,也可以得到另一個顯式法,這稱為Heun方法法[3]。所有方法和擴展都有一步法的基本概念:
其斜率是由 , and 以及(針對隱式歐拉法)。
相關條目
[编辑]參考資料
[编辑]- ^ Jean-Luc Chabert u. a., A History of Algorithms, Berlin/Heidelberg: Springer: 374–378, 1999, ISBN 978-3-540-63369-3
- ^ Wolfgang Dahmen, Arnold Reusken, Numerik für Ingenieure und Naturwissenschaftler 2., Berlin/Heidelberg: Springer: 386 f, 2008, ISBN 978-3-540-76492-2
- ^ Wolfgang Dahmen, Arnold Reusken, Numerik für Ingenieure und Naturwissenschaftler 2., Berlin/Heidelberg: Springer: 386–392, 2008, ISBN 978-3-540-76492-2
文獻
[编辑]- John C. Butcher, Numerical Methods for Ordinary Differential Equations, Chichester: John Wiley & Sons, 2008, ISBN 978-0-470-72335-7
- Wolfgang Dahmen, Arnold Reusken, Kap. 11: Gewöhnliche Differentialgleichungen, Numerik für Ingenieure und Naturwissenschaftler 2., Berlin/Heidelberg: Springer, 2008, ISBN 978-3-540-76492-2
- Peter Deuflhard, Folkmar Bornemann, Numerische Mathematik 2 – Gewöhnliche Differentialgleichungen 3., Berlin: Walter de Gruyter, 2008, ISBN 978-3-11-020356-1
- David F. Griffiths, Desmond J. Higham, Numerical Methods for Ordinary Differential Equations – Initial Value Problems, London: Springer, 2010, ISBN 978-0-85729-147-9
- Robert Plato, Kap. 7: Einschrittverfahren für Anfangswertprobleme, Numerische Mathematik kompakt 4., Wiesbaden: Vieweg+Teubner, 2010, ISBN 978-3-8348-1018-2
- Hans-Jürgen Reinhardt, Numerik gewöhnlicher Differentialgleichungen 2., Berlin/Boston: Walter de Gruyter, 2012, ISBN 978-3-11-028045-6
- Hans Rudolf Schwarz, Norbert Köckler, Kap. 8: Anfangswertprobleme, Numerische Mathematik 8., Wiesbaden: Vieweg+Teubner, 2011, ISBN 978-3-8348-1551-4
- Karl Strehmel, Rüdiger Weiner, Helmut Podhaisky, Numerik gewöhnlicher Differentialgleichungen 2., Wiesbaden: Springer Spektrum, 2012, ISBN 978-3-8348-1847-8
外部連結
[编辑]- Lars Grüne. Numerical Methods for Ordinary Differential Equations (Numerical Mathematics II) (PDF). 2008 [2018-08-20].
- Peter Spellucci. Numerik gewöhnlicher Differentialgleichungen (PDF). 2007 [2018-08-20].
- Hans U. Fuchs. Numerical Methods for Differential Equations (PDF). 2007 [2018-08-20] (英语).
- Mathe Tutorial: Rechner für allgemeine Differentialgleichungen 1. Ordnung. Mathe Tutorial. [2018-08-20].