孫美玲
(南通職業大學公共教學部,江蘇南通226007)
常微分方程數值解法的Matlab計算與可視比較*
孫美玲
(南通職業大學公共教學部,江蘇南通226007)
文章研究常微分方程初值問題的數值解法,通過同一個算例、利用Matlab編程實現了一階歐拉法、二階預估-校正法、高階泰勒法、高階龍格-庫塔法,結合數值列表、圖文并茂地展現了誤差比較與階數。
常微分方程數值解;Matlab高效計算;精度與誤差;方法的階數
常微分方程是描述與研究各事物、現象、運動的演變規律的重要工具,在眾多領域應用廣泛。理論學習時,對可分離變量方程、齊次與可化齊次方程、一階線性微分方程、伯努利方程、全微分方程等,可用不同技巧求出其解析解[1]。
然而并不是所有方程都有解析解,求其數值解同樣有重大意義。關于常微分方程數值解法,國內往往放在數值分析課程的最后章節,如文獻[2],國外則有一本專著[3]。近年來,有效數值解法的研究繼續展開,如文獻[4]比較了四種算法的實際效果;文獻[5]針對四階方程,提出的Runge-Kutta-Nystrom法在精度和計算效率上都有很好的保證。
考慮一階常微分方程的初值問題

這里f(t,u)是光滑函數。我們知道,若滿足李普希茨條件|f(t,u1)-f(t,u2)|≤L|u1-u2|,其中L>0,則初值問題(1)存在惟一的連續可微解。
問題(1)的數值解法,即尋找精確解u(t)在一系列等距離散節點t0,t1,…,tn(tj+1=tj+h,h為時間等距步長)的近似值u0,u1,…,un,{un}稱為數值解。給出各種數值解法:
1.折線法uj+1=uj+hk1,其中k1=f(tj,uj)。
3.高階泰勒法,需有光滑的各階導數f',f'',f(3),…,f(n-1),且利用泰勒展式,定義則高階泰勒法uj+1=uj+hT(n)(tj,uj)。泰勒法要求較好的光滑性,各階導數既要存在還要易求。
4.高階龍格-庫塔法,如
二階龍格-庫塔法uj+1=uj+hk2,



例.分別用歐拉法、預估-校正法、三階、四階泰勒法、二階、三階、四階龍格-庫塔法求初值問題區間為t∈[0,1],取步長h=0.1。(精確解u(t)=t+e-t)
解:將上述公式轉變為簡便高效的Matlab編程計算,可得表1。
%精確解



表1 各數值解與精確解之比較


圖1 各數值解與精確解
可以驗證,歐拉法最簡單但精度也最差,其整體截斷誤差為O(h),為一階方法;預估-校正法精度有所改進,為二階方法;高階泰勒法需簡易計算f的高階導數,對應為O(hn)階方法,同時也導致更多計算與局限;高階龍格-庫塔法格式對稱、應用廣泛,對應也為O(hn)階方法。這促使我們,在復雜多維的常微分方程數值解法中,采用行之有效的高階數值格式來逼近無精確解的實際模型,也能得到高精度的數值結果。
[1]王高雄,等.常微分方程(第3版)[M].北京:高等教育出版社,2006.
[2]李慶揚,王能超,易大義.數值分析(第5版)[M].北京:清華大學出版社,2008.
[3]J.C.Butcher.Numerical methods for ordinary differential equ ations[M].England:Wiley press,2003.
[4]魏明強.一階常微分方程數值解中四種算法的實例比較[J].中國傳媒大學學報(自然科學版),2016,23(2):41-44.
[5]I.T.Famelis,C.Tsitouras.On modifications of Runge-Kutta-Nystrom methods for solving y(4)=f(x,y)[J].Applied Mathematics and Computation,2016(273):726-734.
We study the initial value problem of ordinary differential equation for efficient numerical solutions. Applying an example and Matlab programing,we fulfill Euler,estimator-corrector,Taylor and Runge-Kutta methods. Through the corresponding tables and figures,we present the error comparison and orders.
numerical solutions of ordinary differential equation;Matlab computation;accuracy and error;order of methods
O17
A
2096-000X(2016)19-0060-02
南通職業大學高等教育教學改革研究課題(編號:2015-QN24);南通職業大學自然科學研究項目(編號:1512105);江蘇省高校自然科學研究面上項目(編號:13KJB110030)
孫美玲(1981-),女,江蘇南通人,理學博士,講師,主要研究微分方程理論及其應用。