魏明強
(中國傳媒大學(xué)理工學(xué)部,北京 100024)
?
一階常微分方程數(shù)值解中四種算法的實例比較
魏明強
(中國傳媒大學(xué)理工學(xué)部,北京 100024)
摘要:常用的求解一階常微分方程初值問題的單步方法有:Euler法、梯形法、Taylor級數(shù)法、Rungue-Kutta法。本文借助VC軟件,用四種方法求一個實例方程的數(shù)值解,通過比較求解結(jié)果來分析驗證四種解法的誤差精度。
關(guān)鍵詞:常微分方程;數(shù)值解;Euler法
1引言
本文討論的是一階常微分方程初值問題的數(shù)值求解。
其中f為t和u的已知函數(shù),u0為給定的初值。該初值問題滿足Lipschitz條件。
2利用四種方法求解實例
本文將以下面的一階常微分方程為例子,利用四種方法求其數(shù)值解。
在求解該方程的過程中,選取步長h=0.1,利用四種方法求解該方程在t=0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9等九個點處的數(shù)值解,將數(shù)值解的結(jié)果與其解析解的結(jié)果做分析比較,來驗證四種方法的截斷誤差與誤差精度。
2.1求解析解
該方程是簡單的一階常微分方程,求解過程如下:
2.2Euler法的求解
Euler法的計算公式un+1=un+hf(tn,un)
2.3梯形法的求解
2.4Taylor法的求解
2.5RK法的求解
其中K1,K2,K3,K4的值如下:
3四種方法求解的效果比較
本文利用VC6.0軟件,求解該實例方程。
利用四種求數(shù)值解的方法求其在區(qū)間[0,1)以內(nèi)的數(shù)值解,在這里設(shè)置步長h=0.1。
各種方法求解的結(jié)果如表1。
表1 四種解法的數(shù)值解
其效果從圖1可以很直觀的看出。RK方法和Taylor方法與解析解的值最為接近。近似度最差的就是一階的Euler法,它的數(shù)值解與解析解相差最大,二階的梯形法效果優(yōu)于Euler法,但仍然很明顯的弱于Taylor法和RK法。
圖1 數(shù)值解與解析解效果比較
四種方法的數(shù)值解與其解析解的誤差如表2。
從表2中,可以明顯的看出RK方法的優(yōu)越性,再此例中的RK法是四步四階方法,Taylor法也是四階方法,梯形法是二階方法,Euler法是一階方法。兩種四階方法的計算精度明顯高于二階方法和一階方法。
從圖2也可以很直觀的看出,RK方法求得的數(shù)值解的值是相當(dāng)接近于數(shù)值解的,其誤差幾乎趨近于0。Euler法逐步求解過后,其數(shù)值解逐漸偏離解析解。在誤差絕對值的效果圖中,同樣可以很明顯的看出各種方法的精度依次是:RK方法、Taylor法、梯形法、Euler法。
表2 四種方法的誤差
圖2 誤差絕對值
從編程代碼來看,Taylor法和RK法的計算量明顯比Euler法和梯形法多。Taylor法的計算量比RK法增加了,但是其運算精度沒有提高。因此綜合運算量和運算精度,四步四階的RK法的優(yōu)越性明顯于其他方法。
4結(jié)論
本文利用四種方法,對實例給出的一階常微分方程求解后,通過比較分析數(shù)值解與解析解的結(jié)果,以及數(shù)值解的誤差來分析四種常用求解微分方程數(shù)值解的求解效果。分析結(jié)果表明:RK方法在保證計算量的基礎(chǔ)上仍然具有很好精度。Euler法和梯形法的計算過程雖然簡潔,但是誤差很大。Taylor級數(shù)法的計算量相對四步四階的RK方法增加了,精度卻沒有提高。
參考文獻
[1]王高雄,周之銘,朱思銘.常微分方程(第二版)[M].北京:高等教育出版社,1983.
[2]李慶揚,關(guān)治,白峰杉.數(shù)值計算原理[M].北京:清華大學(xué)出版社,2001.
[3]戴嘉尊,邱建賢.微分方程數(shù)值解法[M].南京:東南大學(xué)出版社,2002.
[4]李榮華,馮果沈.微分方程數(shù)值解法[M].北京:高等教育出版社,1996.
[5]東北師范大學(xué)微分方程教研室.常微分方程(第二版)[M].北京:高等教育出版社,2005.
[6]張藝,解烈軍.微分方程初值問題泰勒級數(shù)法的實現(xiàn)[J].大學(xué)數(shù)學(xué),2007,(03).
(責(zé)任編輯:王謙)
The Comparison of Four Methods on the First Order Ordinary Differential Equation Numerical Solution
WEI Ming-qiang
(School of Sciences,Communication University of China,Beijing 100024,China)
Abstract:The single step method for solving the initial value problem of ordinary differential equation is:Euler method,trapezoidal method,Taylor series method,Rungue-Kutta method.In this paper,we use VC software to find the numerical solution of a practical example equation with four methods,and analyze the accuracy of the four methods by comparing the results.
Keywords:ordinary differential equation;numerical solution;euler method
收稿日期:2015-11-05
作者簡介:魏明強(1991-),男(漢族),江西南昌人,中國傳媒大學(xué)理工學(xué)部碩士研究生.E-mail:weimingqiang@cuc.edu.cn
中圖分類號:O241.81
文獻標(biāo)識碼:A
文章編號:1673-4793(2016)02-0041-04