最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

五種歐拉法求解一階常微分方程(MATLAB)

2022-04-10 15:19 作者:鳴鳳在竹-白駒食場(chǎng)  | 我要投稿

1. 歐拉法

由拉格郎日中值定理,在區(qū)間(x_%7Bk-1%7D%2Cx_%7Bk%7D)內(nèi)必定存在%5Cxi%20_%7Bk%7D,使得:

y(x_%7Bk%7D)-y(x_%7Bk-1%7D)%3Dy'(%5Cxi%20_%7Bk%7D)(x_%7Bk%7D-x_%7Bk-1%7D)

所以y(x_%7Bk%7D)%3Dy(x_%7Bk-1%7D)%2Bhy'(%5Cxi%20_%7Bk%7D)%3Dy(x_%7Bk-1%7D)%2Bhf(%5Cxi%20_%7Bk%7D%2C%20y(%5Cxi%20_%7Bk%7D))。如果知道%5Cxi%20_%7Bk%7D,代入這個(gè)遞推公式,那么遞推過(guò)程得到的序列y_%7B0%7D%2C%20y_%7B1%7D%2C%20y_%7B2%7D%2C%20...,沒(méi)有誤差。但求%5Cxi%20_%7Bk%7D往往很困難,常用一個(gè)易求的值近似地代替%5Cxi%20_%7Bk%7D。顯式歐拉法、隱式歐拉法、梯形公式法、中點(diǎn)歐拉方法的區(qū)別是對(duì)%5Cxi%20_%7Bk%7Dy'(%5Cxi%20_%7Bk%7D)的近似方法不同。

(1)顯式歐拉法

顯式歐拉法把%5Cxi%20_%7Bk%7D近似為區(qū)間%5Bx_%7Bk-1%7D%2Cx_%7Bk%7D%5D的起點(diǎn),即

y(x_%7Bk%7D)%3Dy(x_%7Bk-1%7D)%2Bhf(x%20_%7Bk-1%7D%2C%20y(x_%7Bk-1%7D))%EF%BC%8Ck%3D1%2C2%2C...

顯式歐拉法是單步法,每一輪遞推只用到前面一輪遞推的結(jié)果。歐拉公式具有明顯的幾何意義,就是用折線近似代替方程的解曲線,因而常稱為歐拉折線法。由泰勒展開(kāi)式可知顯式歐拉法具有1階精度。

顯式歐拉法在步長(zhǎng)過(guò)大時(shí)誤差較大;在步長(zhǎng)較小時(shí)需要多步遞推,可能出現(xiàn)誤差累積的現(xiàn)象。由于顯式歐拉法的精度不高,因此在實(shí)際應(yīng)用中用的較少。

(2)隱式歐拉法

隱式歐拉法把%5Cxi%20_%7Bk%7D近似為區(qū)間%5Bx_%7Bk-1%7D%2Cx_%7Bk%7D%5D的終點(diǎn),即

y(x_%7Bk%7D)%3Dy(x_%7Bk-1%7D)%2Bhf(x%20_%7Bk%7D%2C%20y(x_%7Bk%7D))%EF%BC%8Ck%3D1%2C2%2C...

隱式歐拉法是隱式方法,遞推公式的右端包含未知量y_%7Bk%7D,故隱式歐拉法需要求解方程,得出y_%7Bk%7D。

為避免求解方程,常用顯式歐拉法的計(jì)算結(jié)果作為迭代的初值y_%7Bk%7D%5E%7B(0)%7D,把隱式歐拉法的遞推公式作為迭代公式反復(fù)迭代,得到迭代序列y_%7Bk%7D%5E%7B(0)%7D%2C%20y_%7Bk%7D%5E%7B(1)%7D%2C%20y_%7Bk%7D%5E%7B(2)%7D%2C%20...。如果步長(zhǎng)h足夠小,那么迭代序列收斂于y_%7Bk%7D。

y(x%5E%7B(i)%7D_%7Bk%7D)%3Dy(x_%7Bk-1%7D)%2Bhf(x%20_%7Bk%7D%2C%20y(x%5E%7Bi-1%7D_%7Bk%7D))%EF%BC%8Ck%3D1%2C2%2C...

隱式歐拉法具有1階精度。

(3)梯形公式法

梯形公式法把y'(%5Cxi%20_%7Bk%7D)近似為區(qū)間%5Bx_%7Bk-1%7D%2Cx_%7Bk%7D%5D的起點(diǎn)和終點(diǎn)導(dǎo)數(shù)的平均值。遞推公式為:

y(x_%7Bk%7D)%3Dy(x_%7Bk-1%7D)%2B%5Cfrac%7Bh%7D%7B2%7D%20(f(x%20_%7Bk-1%7D%2C%20y(x_%7Bk-1%7D))%2Bf(x%20_%7Bk%7D%2C%20y(x_%7Bk%7D)))%EF%BC%8Ck%3D1%2C2%2C...

顯然,梯形公式法是隱式方法,需要求解方程。為避免解方程,常用顯式歐拉法的計(jì)算結(jié)果作為迭代的初值y_%7Bk%7D%5E%7B(0)%7D,把梯形公式法的遞推公式作為迭代公式反復(fù)迭代,得到迭代序列y_%7Bk%7D%5E%7B(0)%7D%2C%20y_%7Bk%7D%5E%7B(1)%7D%2C%20y_%7Bk%7D%5E%7B(2)%7D%2C%20...。如果步長(zhǎng)h足夠小,那么迭代序列收斂于y_%7Bk%7D。

y(x%5E%7B(i)%7D_%7Bk%7D)%3Dy(x_%7Bk-1%7D)%2B%5Cfrac%7Bh%7D%7B2%7D%20(f(x%20_%7Bk-1%7D%2C%20y(x_%7Bk-1%7D))%2Bf(x%20_%7Bk%7D%2C%20y(x%5E%7Bi-1%7D_%7Bk%7D)))%EF%BC%8Ck%3D1%2C2%2C...

梯形公式法具有2階精度。

(4)中點(diǎn)歐拉法

中點(diǎn)歐拉法把%5Cxi%20_%7Bk%7D近似為區(qū)間%5Bx_%7Bk-1%7D%2Cx_%7Bk%2B1%7D%5D的中點(diǎn)x_%7Bk%7D,即

y(x_%7Bk%2B1%7D)%3Dy(x_%7Bk-1%7D)%2B2hf(x%20_%7Bk%7D%2C%20y(x_%7Bk%7D))%EF%BC%8Ck%3D1%2C2%2C...

中點(diǎn)歐拉方法是雙步法,需要2個(gè)初值y_%7B0%7Dy_%7B1%7D才能啟動(dòng)遞推過(guò)程。一般先用單步法由點(diǎn)(x_%7B0%7D%2Cy_%7B0%7D)計(jì)算出(x_%7B1%7D%2Cy_%7B1%7D),再用中點(diǎn)歐拉方法反復(fù)地遞推。

中點(diǎn)歐拉方法具有2階精度。

(5)改進(jìn)的歐拉法

改進(jìn)的歐拉法是一種預(yù)測(cè)—校正方法,它的每一輪遞推包括預(yù)測(cè)和校正這2個(gè)步驟:

(1)先用顯式歐拉公式計(jì)算出y_%7Bk%7D%5E*%20,y%5E%7B*%7D_%7Bk%7D%3Dy(x_%7Bk-1%7D)%2Bhf(x%20_%7Bk-1%7D%2C%20y(x_%7Bk-1%7D)),即預(yù)測(cè);

(2)再用梯形公式迭代一次y(x_%7Bk%7D)%3Dy(x_%7Bk-1%7D)%2B%5Cfrac%7Bh%7D%7B2%7D%20(f(x%20_%7Bk-1%7D%2C%20y(x_%7Bk-1%7D))%2Bf(x%20_%7Bk%7D%2C%20y%5E%7B*%7D_%7Bk%7D)),即校正。

改進(jìn)的歐拉法精度比顯式歐拉法高,不需要解方程,是一種更實(shí)用的方法。

2. 歐拉法MATLAB算法實(shí)現(xiàn)

如下算法實(shí)現(xiàn)五種形式的歐拉法,根據(jù)用戶選擇ode_method的方法,采用不同的歐拉法求解。


3. 歐拉法算法測(cè)試

1:采用五種歐拉法求解一階微分方程,已知解析解為y%3D%5Csqrt%7B1%2B2x%7D%20。

y'%3Dy-%5Cfrac%7B2x%7D%7By%7D%20%EF%BC%8C%20y(0)%3D1%EF%BC%8Cx%5Cin%20%5B0%2C1%5D

測(cè)試代碼如下:

測(cè)試結(jié)果:輸出參數(shù)為結(jié)構(gòu)體,如顯式歐拉法的輸出結(jié)果:

可視化圖像如圖1和圖2所示,可見(jiàn)較小的步長(zhǎng)可獲得較高的精度,但注意計(jì)算時(shí)的舍入誤差和誤差累積。

圖1 步長(zhǎng)為0.05時(shí)的歐拉法數(shù)值解曲線與誤差曲線
圖2 步長(zhǎng)為0.001時(shí)的歐拉法數(shù)值解曲線與誤差曲線





五種歐拉法求解一階常微分方程(MATLAB)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
建德市| 会同县| 荃湾区| 乐山市| 台中县| 内江市| 安化县| 鸡东县| 石景山区| 咸宁市| 滕州市| 盘山县| 阿克| 万州区| 韶关市| 清原| 武安市| 湖州市| 尖扎县| 台前县| 增城市| 根河市| 麻江县| 云梦县| 新巴尔虎左旗| 十堰市| 潮安县| 西青区| 新龙县| 读书| 龙海市| 育儿| 曲阳县| 泸州市| 榆树市| 郑州市| 夹江县| 丰原市| 雷波县| 富裕县| 柞水县|