孫美玲
(南通職業(yè)大學(xué)公共教學(xué)部,江蘇南通226007)
常微分方程數(shù)值解法的Matlab計(jì)算與可視比較*
孫美玲
(南通職業(yè)大學(xué)公共教學(xué)部,江蘇南通226007)
文章研究常微分方程初值問題的數(shù)值解法,通過同一個(gè)算例、利用Matlab編程實(shí)現(xiàn)了一階歐拉法、二階預(yù)估-校正法、高階泰勒法、高階龍格-庫塔法,結(jié)合數(shù)值列表、圖文并茂地展現(xiàn)了誤差比較與階數(shù)。
常微分方程數(shù)值解;Matlab高效計(jì)算;精度與誤差;方法的階數(shù)
常微分方程是描述與研究各事物、現(xiàn)象、運(yùn)動(dòng)的演變規(guī)律的重要工具,在眾多領(lǐng)域應(yīng)用廣泛。理論學(xué)習(xí)時(shí),對(duì)可分離變量方程、齊次與可化齊次方程、一階線性微分方程、伯努利方程、全微分方程等,可用不同技巧求出其解析解[1]。
然而并不是所有方程都有解析解,求其數(shù)值解同樣有重大意義。關(guān)于常微分方程數(shù)值解法,國內(nèi)往往放在數(shù)值分析課程的最后章節(jié),如文獻(xiàn)[2],國外則有一本專著[3]。近年來,有效數(shù)值解法的研究繼續(xù)展開,如文獻(xiàn)[4]比較了四種算法的實(shí)際效果;文獻(xiàn)[5]針對(duì)四階方程,提出的Runge-Kutta-Nystrom法在精度和計(jì)算效率上都有很好的保證。
考慮一階常微分方程的初值問題
這里f(t,u)是光滑函數(shù)。我們知道,若滿足李普希茨條件|f(t,u1)-f(t,u2)|≤L|u1-u2|,其中L>0,則初值問題(1)存在惟一的連續(xù)可微解。
問題(1)的數(shù)值解法,即尋找精確解u(t)在一系列等距離散節(jié)點(diǎn)t0,t1,…,tn(tj+1=tj+h,h為時(shí)間等距步長)的近似值u0,u1,…,un,{un}稱為數(shù)值解。給出各種數(shù)值解法:
1.折線法uj+1=uj+hk1,其中k1=f(tj,uj)。
3.高階泰勒法,需有光滑的各階導(dǎo)數(shù)f',f'',f(3),…,f(n-1),且利用泰勒展式,定義則高階泰勒法uj+1=uj+hT(n)(tj,uj)。泰勒法要求較好的光滑性,各階導(dǎo)數(shù)既要存在還要易求。
4.高階龍格-庫塔法,如
二階龍格-庫塔法uj+1=uj+hk2,
例.分別用歐拉法、預(yù)估-校正法、三階、四階泰勒法、二階、三階、四階龍格-庫塔法求初值問題區(qū)間為t∈[0,1],取步長h=0.1。(精確解u(t)=t+e-t)
解:將上述公式轉(zhuǎn)變?yōu)楹啽愀咝У腗atlab編程計(jì)算,可得表1。
%精確解
表1 各數(shù)值解與精確解之比較
圖1 各數(shù)值解與精確解
可以驗(yàn)證,歐拉法最簡單但精度也最差,其整體截?cái)嗾`差為O(h),為一階方法;預(yù)估-校正法精度有所改進(jìn),為二階方法;高階泰勒法需簡易計(jì)算f的高階導(dǎo)數(shù),對(duì)應(yīng)為O(hn)階方法,同時(shí)也導(dǎo)致更多計(jì)算與局限;高階龍格-庫塔法格式對(duì)稱、應(yīng)用廣泛,對(duì)應(yīng)也為O(hn)階方法。這促使我們,在復(fù)雜多維的常微分方程數(shù)值解法中,采用行之有效的高階數(shù)值格式來逼近無精確解的實(shí)際模型,也能得到高精度的數(shù)值結(jié)果。
[1]王高雄,等.常微分方程(第3版)[M].北京:高等教育出版社,2006.
[2]李慶揚(yáng),王能超,易大義.數(shù)值分析(第5版)[M].北京:清華大學(xué)出版社,2008.
[3]J.C.Butcher.Numerical methods for ordinary differential equ ations[M].England:Wiley press,2003.
[4]魏明強(qiáng).一階常微分方程數(shù)值解中四種算法的實(shí)例比較[J].中國傳媒大學(xué)學(xué)報(bào)(自然科學(xué)版),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
南通職業(yè)大學(xué)高等教育教學(xué)改革研究課題(編號(hào):2015-QN24);南通職業(yè)大學(xué)自然科學(xué)研究項(xiàng)目(編號(hào):1512105);江蘇省高校自然科學(xué)研究面上項(xiàng)目(編號(hào):13KJB110030)
孫美玲(1981-),女,江蘇南通人,理學(xué)博士,講師,主要研究微分方程理論及其應(yīng)用。