數值積分公式的推廣:龍格庫塔法(一)

2021-02-19 CAM傳習錄

1. 寫在前面的話

龍格庫塔法是求解常微分方程的數值計算方法。它始於1895年,歷史悠久,後人以龍格(Runge)和庫塔(Kutta)兩位計算數學家的名字為它命名。關於它的研究文獻有很多,至今仍有新的論文不斷湧現,卷帙之浩繁,恐怕難以完全統計。

先後在此領域內作出重要貢獻的科學家除了龍格和庫塔兩位外,還有霍伊恩(Heun),奈斯特龍(Nyström),胡塔(Huta),吉爾(Gill),柯蒂斯(Curtis),布切爾(Butcher),默森(Merson),庫珀(Cooper),海爾(Hairer),萬納(Wanner),桑茲塞爾納(Sanz-Serna)等。

其中紐西蘭數學家布切爾是該問題的當代大師. 他創造性地將抽象代數和圖論的方法引入到龍格庫塔法的研究當中,奠定了龍格庫塔法根樹表示論的理論基礎,進而改變了整個數值方法的面貌。以他的名字命名的數學名詞有:布切爾群,布切爾表,布切爾級數(簡稱為B級數)。關於龍格庫塔法,除了一系列重要的研究性論文,他還寫過好幾篇值得一讀的綜述類文章,並有專著傳世,感興趣的讀者可以查閱其著作或文獻(比如【1,2】)。

本文僅就龍格庫塔法背後隱藏的機理作一番初步探討,有興趣的讀者可以進一步思考或加以研究。

3. 數值積分帶給我們的啟示

現在讓我們來考慮下面的一階常微分方程初值問題

為了保證解的存在唯一性,通常假定右端函數 f 足夠光滑且關於z 滿足李普希茨條件。

注意,此方程組不是簡單的常微分方程組,右端函數 f 依賴於函數 z,但本身 z 未知,一般不能直接求出解析解 -- 當然不排除某些特殊方程組可以利用某些特別的技巧求得解析解,但大多數情況下是無法得到解析解的。

因此,實際當中我們往往會考慮使用合適的數值方法來求近似解。設精確解 z 在一系列離散時間點 處的近似值為 ,我們稱由  計算 的數值方法為單步法。下面我們考慮使用數值積分公式構造單步法。

首先將時間區間進行分割,得到離散時間區間 。 不失一般性,下面只考慮第一個時間區間的情況,設 為步長。通過對原微分方程兩邊求積分,代入初值條件,原方程可化為積分方程

我們希望根據初值 求出下一步的值,為此, 在上式中令 ,得到


右邊的積分很容易讓我們聯想到上一節的數值積分公式。特別地,如果我們使用左矩形數值積分公式(即只含有一個求積節點 的情況),則有

將精確解的符號替換成相應數值解的符號,並強行改成等式,即得顯式歐拉法

利用上式可由初值  求出 ,然後將 作為下一步的初值,以此類推可以求得各個離散時間點處的近似值。顯式歐拉法又稱為歐拉折線法,是大數學家歐拉(Euler)於1768年提出來的,也是計算方法入門教科書上必提到的方法之一,通常還會有直觀的圖解(參見 ODE 數值方法(1):方法簡介)。

遺憾的是,顯式歐拉法只有一階精度,穩定性也不太好。如果考慮使用右矩形數值積分公式,則可得到隱式歐拉法,穩定性比顯式歐拉法要好很多,但精度也只有1階。

科學研究總是從最簡單的情況開始,然後試著考慮更為複雜的情況。一個很自然的想法是,為了提高精度,我們可否使用更多的求積節點?

(未完待續)

參考文獻

【1】J.C. Butcher, G. Wanner, Runge-Kutta methods: some historical notes, Appl. Numer. Math.22 (1996), 113-151.


【2】J.C. Butcher, The Numerical Analysis of Ordinary Differential Equations: Runge–Kutta and General Linear Methods, John Wiley & Sons, 1987.

作者簡介

唐文生,長沙理工大學數學與統計學院, 講師   

研究興趣:哈密爾頓辛幾何算法.

近年來,基於正交多項式展開技巧發展了連續級算法的較一般性構造理論,並將之用於動力系統保結構算法的研究,提出了構造幾類幾何積分子的全新方法. 首次發現利用數值通量的不同選取可以構造不同的保持辛結構的間斷Galerkin方法,證明了方法的超收斂性,並建立了其與連續級算法的內在聯繫。主持並完成國家自然科學基金青年項目1項,湖南省教育廳項目1項。

相關焦點

  • 數值微分與數值積分(一)
    一、數值微分(1)數值差分與差商微積分中,任意函數f(x)在x0點的導數是通過極限定義的:如果去掉極限定義中h趨向於0的極限過程,得到函數在x0點處以h(h>0)為步長的向前差分、向後差分和中心差分差分公式:
  • MATLAB數值微分與數值積分
    1、數值積分基本原理在高等數學中,計算定積分依靠微積分基本定理,只要找到被積函數 f(x)的原函數F(x),則可用 牛頓 — 萊布尼茲 ( Newton- - Leibniz ) 公式:在有些情況下,應用牛頓—萊布尼茲公式有困難,例如,當被積函數的原函數無法用初等函數表示,或被積函數是用離散的表格形式給出的。這時就需要用數值解法來求定積分的近似值 。
  • 數值積分中的重要公式:解讀歐拉-麥克勞林公式的原理
    伯努利數伯努利將求和公式用伯努利數替代,大大簡化和方便了公式的用矩陣表示出來就是:非常明了接著偉大的歐拉繼續推進伯努利的成果數學家歐拉和麥克勞林根據已有的成果,設想是否能找到一個通用公式來表示自然數任意形式下的和呢?
  • MATLAB數值求導與積分
    4.4 數值求導與積分在數學計算中,積分和求導是最常見的運算。
  • 積分學的進階之路——積分向多元函數的推廣
    多元函數積分學是定積分概念的推廣,包括二重積分、三重積分、曲線積分和曲面積分。它們所解決的問題的類型不同,但解決問題的思想和方法是一致的,都是以「分割、近似、求和、取極限」為其基本思想,它們的計算最終都歸結為定積分的計算。
  • Matlab中幾個數值積分函數的比較和優缺點
  • 政策解讀:工信部修改新能源汽車積分計算公式的背後是什麼?
    新能源汽車積分計算公式調整:從單一性能到整車優化工信部對新能源汽車積分計算公式進行了修改。《修正案》通過對單車積分公式的調整,引導車企從續航裡程、能量密度、燃料電池系統功率等單一性能指標向整車性能發展。
  • 數值分析和有限元的課程筆記
    數值分析數值分析當然講的是與做研究時數值處理的方法。
  • 【數值講堂】遊戲設計中經典的計算公式
    舉例:假如你的輸出間隔是1S,100%命中,攻擊力為100,暴擊率為100%,暴擊效果為150%,則你的edps為150。第二個問題:關於數值成長中最優解的存在  ELO等級分體系:  (很久之前做過的PPT,東西太多有點亂,粘一部分上來)  簡介  ELO等級分體系是根據它的推廣者埃洛(elo
  • 數學時間 | 萬能公式在求三角函數積分中的應用
    回復「新大綱」免費獲取21大綱解析課程回復「稻殼」免費領取WPS稻殼會員回復「喜馬拉雅」免費領取喜馬拉雅會員在不定積分的計算過程,我們學過了有理分式的計算,當然還能推廣為更廣泛的有理分式,比如三角有理式和指數有理式,這兩種有理分式的不定積分計算在考研過程中出現頻率也比較高
  • Laplace數值反變換
    對於積分數值的影響對積分的數值取齊實部,再乘以2便可以得到那麼積分誤差上限為:可以看到使用n=1000對應的結果後面的積分精度達到了小數點後面6位9的小數點的位數。3.實現Laplace逆運算通過上面梯形積分方法,實現Laplace數值逆變換,具體的子程序如下面所示。
  • 遊戲數值策劃入門(二):公式選擇
    今天我們就來講一講 「計算公式」 選擇的相關問題。好公式的特徵一個公式,如果我們需要評估的話,需要一些指標:但如果像 DNF 公式那樣複雜的話,可能「感知」起來就會沒那麼明顯一些。小結以上的三點集合起來,也就是我們需要的 「控制力」 了,遊戲數值策劃也就是幹這個事的,控制遊戲的數值平衡。
  • 2020考研數學公式大全:積分公式表
    2020考研積分公式表大全   2020考研積分公式表(含有ax+b的積分)   2020考研積分公式表(含有根號下ax+b的積分)   2020考研積分公式表(含有x^2 ± a^2的積分)   2020考研積分公式表(含有a*x^2+b的積分)   2020考研積分公式表
  • 積分設置教程
    進入正題:進入後臺——基本設置——積分設置;這裡我們啟用三個擴展積分,分別為extcredits1為威望,extcredits2為金錢,extcredits3為魅力,好了先點提交保存設置。你也可以為它們設置初始積分,這樣會員一註冊就有相應積分!
  • MATLAB-07 數值微積分
    ()積分的數值是什麼?p=[5 0 -2 0 1];polyint(p,3)梯形法則(一階近似)辛普森積分公式 作為平均高度f(ζ)的近似值而獲得的一種數值積分方法。辛普森積分公式是一種用拋物線近似函數曲線來求定積分數值解的方法。
  • Excel公式不起作用的四種情況及批量把文本公式轉為數值
    有時在 Excel 中輸入完公式,無論怎麼按回車,公式始終不執行,這是為什麼?Excel公式不起作用通常有四種情況,分別為單元格的格式導致、進了顯示公式狀態、計算選項沒有設置為自動重算和公式輸入錯誤;比較常見是由於沒有把單元格設置為常規或數值型,而是把單元格設置為了文本型。
  • Excel函數公式大全之利用LN函數計算任意正數值的自然對數值
    各位Excel天天學的小夥伴們大家好,歡迎收看Excel天天學出品的excel2019函數公式大全課程。今天我們依舊要學習的是Excel函數中的數學函數LN函數。今天我們這個案例非常的簡單就是計算任意正數值的自然對數值。
  • 詳解萬能公式在不定積分中的應用
    在求不定積分中,對於只包含正弦、餘弦、正切、餘切,而不包含其他初等函數的被積函數,可以用萬能公式,化三角函數為有理函數,進而求解不定積分。1. 初用萬能公式對習題1直接套用如下萬能公式。靈活運用萬能公式若像習題1直接套用萬能公式,會導致高次的、複雜的有理函數。當化簡到上述這一步時,很難進行下去了。事實上,在用萬能公式時,謹記一點:萬能公式的目的是將三角函數的不定積分轉化為低次的、不複雜的有理函數不定積分。
  • MATLAB求數值積分方法(一)
    *(diff(x)))/2蒙特卡洛積分Monte Carlo法是通過大量實驗來求取隨機變量近似值的一種常用的方法,在現代科學研究中經常用來求解一些建模困難的問題。考慮圖中給出的示意圖。假設正方形的邊長為1,可見,四分之一圓的面積是π/4,其面積和正方形面積的比是π/4:1 ,換句話說,如果產生一個均勻分布的隨機數,它落到四分之一圓的概率為π/4 。
  • 【數值分析】課程學習筆記
    ,可以好好休息一波,那就根據這次期末考試給大家劃個重點吧,詳細版的等後面我上傳至百度雲盤裡的研一上課程😊😊,大家注意查收即可。我好兄弟坤導也準備了一份《數值分析》期末公式總結,我個人認為這裡面已經很全面了,大家可以去拿來主義一下,給我兄弟點讚👍那份《數值分析》期末公式總結如下,點擊進去即可瀏覽:數值分析期末公式總結 如果覺得不錯,可以關注一下他的公眾號,我很推薦😊😊講真,我們的數值分析老師真的很好,在平時,已經把考試的大部分重點講的很細緻了,所以,如果你將要上這門課,一定要認真聽講