国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MATLAB一階微分方程的仿真

2021-03-13 14:38任春年李會(huì)榮魏倩茹
現(xiàn)代信息科技 2021年15期
關(guān)鍵詞:微分方程

任春年 李會(huì)榮 魏倩茹

摘? 要:為得到更加精確的求解微分方程數(shù)值解的方法,采用了顯式歐拉法、隱式歐拉法、改進(jìn)歐拉法以及四階龍格庫塔等方法與MATLAB軟件中專有的ode45函數(shù)作比較,對(duì)用不同方法來求解微分方程的求解結(jié)果進(jìn)行了研究,通過例證以及數(shù)據(jù)分析,得出在步長(zhǎng)h任意時(shí),四階龍格庫塔法的精準(zhǔn)度、穩(wěn)定性都要高于其他三種歐拉法,使在微分方程求解方法的選擇上更具針對(duì)性。

關(guān)鍵詞:微分方程;歐拉法;四階龍格庫塔法

中圖分類號(hào):TP391.9? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2096-4706(2021)15-0160-03

Abstract: In order to obtain a more accurate numerical solution of differential equations, the explicit Euler method, implicit Euler method, improved Euler method and fourth-order Runge-Kutta method are compared with the special ode45 function of MATLAB software. The results of solving differential equations by different methods are studied. Through examples and data analysis, when the step h is arbitrary, the accuracy and stability of the fourth-order Runge-Kutta method are higher than the other three Euler methods, which makes the choice of differential equation solution method more targeted.

Keywords: differential equation; Euler method; fourth-order Runge-Kutta method

0? 引? 言

微分方程的理論和方法不僅廣泛應(yīng)用于自然科學(xué),在數(shù)學(xué)研究領(lǐng)域內(nèi),通過深研相關(guān)文獻(xiàn)可知,關(guān)于一階微分方程的各種邊值問題已取得不少的研究成果。文獻(xiàn)[1-2]中表示歐拉法解微分方程時(shí)過程雖簡(jiǎn)單,但是誤差較大。

本文利用顯式歐拉法、隱式歐拉法、改進(jìn)歐拉法、四階龍格庫塔等方法來對(duì)一階微分方程進(jìn)行求解,通過對(duì)比相關(guān)數(shù)據(jù),分析以上各種方法求解一階微分方程的優(yōu)劣勢(shì),進(jìn)一步提高一階微分方程的求解效率。

1? 常微分方程的基本概念

含有未知函數(shù)導(dǎo)數(shù)(或微分)的方程,稱為微分方程,未知函數(shù)是一元函數(shù)的微分方程稱為常微分方程,未知函數(shù)是多元函數(shù)的稱為偏微分方程[3]。

一階常微分方程初始問題:

其中x0為初始時(shí)間(已知常數(shù)),y0為初始狀態(tài),函數(shù)f(x,y)關(guān)于y滿足利普希茨條件,保證初值問題解的存在且唯一。

2? 歐拉法

歐拉法的主要思想是迭代思想,也就是逐次替代,從而求出所需要的解,而且還要達(dá)到一定的精準(zhǔn)度。歐拉法分別有顯式歐拉法(前向歐拉法)、隱式歐拉法(后向歐拉法)和改進(jìn)歐拉法。如果微分方程的最本質(zhì)的特征是方程中含有倒數(shù)項(xiàng),那么數(shù)值解首要先消除倒數(shù)值,這個(gè)過程被稱為離散化。

2.1? 顯式歐拉法

使用一階前向差商代替微分[4]:

式中,h為時(shí)間步長(zhǎng)。

微分方程的顯式差分方程:

上式是關(guān)于y(m)向y(m+1)的遞推形式,則可逐步求出y(1),y(2),y(3)…y(n)…,是關(guān)于y(m)的一個(gè)直接計(jì)算公式,既所求出的離散序列為該方程的數(shù)值解。

2.2? 隱式歐拉法

使用一階向后差商代替微分[5]:

微分方程的隱式差分方程:

在第m步迭代時(shí),y(m-1),x(m)已知,y(m)為待求未知量,f(x(m),y(m))是關(guān)于待求未知量y(m)的函數(shù),則方程是關(guān)于y(m)的非線性方程。通過非線性方程的迭代解法求出y(m)。則可逐步求出y(1),y(2),y(3)…y(n)…,所求出的離散序列為方程的數(shù)值解。

2.3? 改進(jìn)歐拉法

先用顯式歐拉法求解m+1步的預(yù)測(cè)值:

再用m步微分值f(x(m),y(m))和k+1步預(yù)測(cè)的微分值f(x(m+1),y(m+1))的平均值來近似微分:

再用顯式歐拉法校正k+1步的計(jì)算值:

綜上所述,改進(jìn)后的歐拉算法為:

上式就是關(guān)于y(m)向y(m+1)的遞推形式,根據(jù)初始條件按照遞推關(guān)系依次求出y(1),y(2),y(3)…y(n)…,所求出的離散序列為方程的數(shù)值解。

2.4? 三種歐拉方法對(duì)比

微分方程數(shù)值解法的本質(zhì)特征是使用數(shù)值積分實(shí)現(xiàn)向y的轉(zhuǎn)換。顯式歐拉法和隱式歐拉法都使用的是矩形數(shù)值積分方法,是一階算法,截?cái)嗾`差為O(h2);改進(jìn)歐拉法使用的是梯形數(shù)值積分方法,是二階算法,截?cái)嗾`差為O(h3)。

3? 四階龍格庫塔法

歐拉法在求解方程時(shí),隨著步長(zhǎng)的增加,歐拉法一階算法精度下降很快。而龍格庫塔法都是由合適的泰勒方法推導(dǎo)得到,使得誤差為O(h5),其求解精度高,且易于編程。

四階龍格庫塔法的求解算法為式(10)所示。

四階龍格庫塔法的算法是關(guān)于y(m)向y(m+1)的遞推形式,可以根據(jù)初始條件按照遞推關(guān)系依次求出y(1),y(2),y(3)…y(n)…,則離散序列就是方程的數(shù)值解。

4? 數(shù)值實(shí)驗(yàn)

4.1? MATLAB中微分方程數(shù)值中的函數(shù)

在求解微分方程的數(shù)值解時(shí),ode是MATLAB軟件中專有的求解微分方程的函數(shù)。在MATLAB中共有7個(gè)函數(shù),分別是:ode45,ode23,ode113,ode15s,ode23s,ode23t和ode23tb。其中ode45采用了四階-五階Runge-Kutta算法,用四階龍格庫塔法提供候選解,五階龍格庫塔法控制誤差。

4.2? 數(shù)值舉例

例1,求解一階常微分方程:

解:使用MATLAB編程計(jì)算得到不同時(shí)間步長(zhǎng)h的數(shù)值計(jì)算的結(jié)果分別如圖1、圖2、表1和表2所示。

由例題數(shù)據(jù)分析可得,顯式歐拉法計(jì)算量小,但精度低;而隱式歐拉法的計(jì)算遠(yuǎn)比顯式歐拉法困難,但其計(jì)算穩(wěn)定性好。改進(jìn)歐拉法的精度高于前兩者。

四階龍格庫塔法即使在步長(zhǎng)h很大時(shí),求解的精準(zhǔn)度比MATLAB自帶的ode45函數(shù)和改進(jìn)歐拉法精度明顯提高。四階龍格庫塔法相對(duì)于使用ode45函數(shù)最大的優(yōu)勢(shì)在于:可以將求解程序和模型描述文件融合起來,能夠解決各類參數(shù)時(shí)變、多模型切換等問題。

5? 結(jié)? 論

通過上述例子可以直觀地看到各種方法在解微分方程數(shù)值解時(shí)的優(yōu)缺點(diǎn),無論是顯式、隱式還是改進(jìn)歐拉法,精準(zhǔn)度主要取決于區(qū)間的大小和步長(zhǎng)h,當(dāng)取得區(qū)間過大時(shí),會(huì)出現(xiàn)前一部分區(qū)間的近似值偏差小,后一部分的結(jié)果偏差值較大。

四階龍格庫塔法比顯式歐拉法、隱式歐拉法以及改進(jìn)歐拉法的精準(zhǔn)度更高,與MATLAB軟件中的ode45函數(shù)相比有著更多的優(yōu)勢(shì)。

通過以上對(duì)比分析,在求解微分方程的數(shù)值解時(shí),可以供讀者快速便捷的選取合理的算法應(yīng)用于計(jì)算,使微分方程在對(duì)實(shí)際問題的研究應(yīng)用中更加高效快捷。

參考文獻(xiàn):

[1] 姜兆檸.常微分方程數(shù)值解的求解 [J].科技經(jīng)濟(jì)導(dǎo)刊,2019,27(17):154-155.

[2] 劉相國(guó),楊曉偉,王冬銀.基于MATLAB的《常微分方程》教學(xué)研究 [J].西安文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2020,23(2):124-128.

[3] 王高雄,周之銘.常微分方程:第3版 [M].北京:高等教育出版社,2006.

[4] 梁春葉,王橋明,孫遠(yuǎn)通,等.微分方程數(shù)值解之歐拉法在MATLAB下的應(yīng)用 [J].科技風(fēng),2021(10):71-72.

[5] 賈新輝.基于微分方程模型信賴域子問題的改進(jìn)歐拉法 [D].太原:太原科技大學(xué),2017.

作者簡(jiǎn)介:任春年(1999.12—),男,漢族,陜西榆林人,本科在讀,研究方向:數(shù)學(xué)與應(yīng)用數(shù)學(xué)。

3780500338226

猜你喜歡
微分方程
常微分方程教學(xué)的一些思考
利用函數(shù)相關(guān)性分析積分因子相關(guān)問題 
二階常系數(shù)非齊次線性微分方程
一類特殊的微分方程求解方法研究
基于多變量微分方程模型展開的商業(yè)經(jīng)濟(jì)關(guān)鍵點(diǎn)研究
新型錄波器單端故障定位可行性研究
血液流速的微分方程模型
淺談高等數(shù)學(xué)教學(xué)過程中的教育思想
對(duì)利用多種時(shí)間尺度的微分方程求解方法探討
旋轉(zhuǎn)極小曲面中微分方程通解的解法
社会| 宣威市| 和平区| 新源县| 宁明县| 新沂市| 九台市| 随州市| 麻阳| 虎林市| 柳江县| 唐海县| 张家港市| 深水埗区| 航空| 镇沅| 外汇| 巴马| 南华县| 崇州市| 许昌县| 普兰店市| 门头沟区| 清水县| 石泉县| 永川市| 万载县| 叶城县| 沂源县| 囊谦县| 隆回县| 隆化县| 珠海市| 嘉义市| 沛县| 瓮安县| 伊春市| 庆元县| 大丰市| 鄂托克旗| 新竹市|