龍格庫(kù)塔方法基本原理.PPT
《龍格庫(kù)塔方法基本原理.PPT》由會(huì)員分享,可在線閱讀,更多相關(guān)《龍格庫(kù)塔方法基本原理.PPT(54頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1在連續(xù)系統(tǒng)的仿真中,主要的計(jì)算工作是求解一階微分方程在連續(xù)系統(tǒng)的仿真中,主要的計(jì)算工作是求解一階微分方程 y=f(x,y)y(x0)=y0解析法只能用來(lái)求解一些特殊類型的方程,實(shí)際仿真問(wèn)題中歸解析法只能用來(lái)求解一些特殊類型的方程,實(shí)際仿真問(wèn)題中歸結(jié)出來(lái)的微分方程主要靠數(shù)值解法。結(jié)出來(lái)的微分方程主要靠數(shù)值解法。2由于實(shí)際運(yùn)算只能完成有限項(xiàng)或有限步運(yùn)算,因此要將有些需用極限或無(wú)窮過(guò)程進(jìn)行的運(yùn)算有限化,對(duì)無(wú)窮過(guò)程進(jìn)行截?cái)啵@樣產(chǎn)生的誤差成為截?cái)嗾`差。根據(jù)實(shí)際情況建立的數(shù)學(xué)模型往往難以求解。通常需要通過(guò)近似替代,將所求解的數(shù)學(xué)模型簡(jiǎn)化為易求解的數(shù)值計(jì)算問(wèn)題后再進(jìn)行求解。數(shù)學(xué)模型的理論解與數(shù)值計(jì)算問(wèn)題
2、的精確解之間的誤差稱為截?cái)嗾`差。這是計(jì)算方法本身帶來(lái)的誤差,所以也成為方法誤差。2022-9-43得到高精度方法的一個(gè)直接想法是利用Taylor展開(kāi)假設(shè)式 y=f(x,y)(axb)中的 f(x,y)充分光滑,將y(xi+1)在x i點(diǎn)作Taylor展開(kāi),若取右端不同的有限項(xiàng)作為y(xi+1)的近似值,就可得到計(jì)算y(xi+1)的各種不同截?cái)嗾`差的數(shù)值公式。例如:取前兩項(xiàng)可得到例如:取前兩項(xiàng)可得到)()()()(21hOxyhxyxyiii)(),()()(,()(22hOyxhfyhOxyxhfxyiiiiii3.2 龍格庫(kù)塔方法龍格庫(kù)塔方法2022-9-44)(21!2PiPiiiiyPh
3、yhyhyy 其中ffffffffff ffyf ffyxfyfyyyxyyxyxxxyxiyxxiiii22)(2)(),(,P階泰勒方法若取前三項(xiàng),可得到截?cái)嗾`差為若取前三項(xiàng),可得到截?cái)嗾`差為O(h3)的公式的公式)()(2)()()(321hOxyhxyhxyxyiiii)(),(),(),(2),(32hOyxfyxfyxfhyxhfyiiyiiiixiii類似地,若取前類似地,若取前P+1項(xiàng)作為項(xiàng)作為y(xi+1)的近似值,便得到的近似值,便得到2022-9-45顯然p=1時(shí),y i+1=y i+hf(xi,y i)它即為我們熟悉的Euler方法。當(dāng)p2時(shí),要利用泰勒方法就需要計(jì)算f
4、(x,y)的高階微商。這個(gè)計(jì)算量是很大的,尤其當(dāng)f(x,y)較復(fù)雜時(shí),其高階導(dǎo)數(shù)會(huì)很復(fù)雜。因此,利用泰勒公式構(gòu)造高階公式是不實(shí)用的。但是泰勒級(jí)數(shù)展開(kāi)法的基本思想是許多數(shù)值方法的基礎(chǔ)。R-K方法不是直接使用Taylor級(jí)數(shù),而是利用它的思想2022-9-46龍格龍格-庫(kù)塔庫(kù)塔(R-K)法的基本思想法的基本思想Euler公式可改寫(xiě)成),(1iiiiyxhfKKyy則yi+1的表達(dá)式與y(xi+1)的Taylor展開(kāi)式的前兩項(xiàng)完全相同,即局部截?cái)嗾`差局部截?cái)嗾`差為O(h2)。Runge-Kutta 方法是一種高精度的單步法方法是一種高精度的單步法,簡(jiǎn)稱簡(jiǎn)稱R-K法法2022-9-47同理,改進(jìn)Eul
5、er公式可改寫(xiě)成),(),(2121121211KyhxhfKyxhfKKKyyiiiiii 上述兩組公式在形式上共同點(diǎn):都是用f(x,y)在某些點(diǎn)上值的線性組合得出y(xi+1)的近似值yi+1,且增加計(jì)算的次數(shù)f(x,y)的次數(shù),可提高截?cái)嗾`差的階。如歐拉法:每步計(jì)算一次f(x,y)的值,為一階方法。改進(jìn)歐拉法需計(jì)算兩次f(x,y)的值,為二階方法。局部截?cái)嗾`差局部截?cái)嗾`差為O(h3)2022-9-48 于是可考慮用函數(shù)f(x,y)在若干點(diǎn)上的函數(shù)值的線性組合來(lái)構(gòu)造近似公式,構(gòu)造時(shí)要求近似公式在(xi,yi)處的Taylor展開(kāi)式與解y(x)在xi處的Taylor展開(kāi)式的前面幾項(xiàng)重合,從而
6、使近似公式達(dá)到所需要的階數(shù)。既避免求高階導(dǎo)數(shù),又提高了計(jì)算方法精度的階數(shù)?;蛘哒f(shuō),在xi,xi+1這一步內(nèi)多計(jì)算幾個(gè)點(diǎn)的斜率值,然后將其進(jìn)行加權(quán)平均作為平均斜率,則可構(gòu)造出更高精度的計(jì)算格式,這就是龍格龍格庫(kù)塔庫(kù)塔(Runge-Kutta)法的基本思想法的基本思想。9),(),(),(11,1112122122111ppppipipiiiippiiKbKbyhaxhfK KbyhaxhfKyxhfKKcKcKcyy一般龍格庫(kù)塔方法的形式為2022-9-49其中ai,bij,ci為待定參數(shù),要求上式y(tǒng)i+1在點(diǎn)(xi,yi)處作Tailor展開(kāi),通過(guò)相同項(xiàng)的系數(shù)確定參數(shù)。稱為P階龍格庫(kù)塔方法。2
7、022-9-410Runge-Kutta方法的推導(dǎo)思想0)(),(yaybxayxfy對(duì)于常微分方程的初值問(wèn)題的解y=y(x),在區(qū)間xi,xi+1上使用微分中值定理,有)()()(1iiiyhxyxy即)()()(11iiiiixxyxyxy),(1iiixx其中2022-9-411上的平均斜率在區(qū)間可以認(rèn)為是,)(1iixxxyyKKxyxyii)()(1引入記號(hào))(,)(iiiyhfyhKKxxxyii上平均斜率的近似值間在區(qū)出只要使用適當(dāng)?shù)姆椒ㄇ?)(1就可得到相應(yīng)的Runge-Kutta方法ix1ixxy)(xyy Kyyii1K2022-9-412ix1ixxy)(xyy 如下圖K
8、xxxyxxyiii上的平均斜率在處的斜率作為在如果以,)()(1即則上式化為),(1iiiiyxhfyy)(ixyhK)(,iixyxhf),(iiyxhf即Euler方法Euler方法也稱為一階一階Runge-Kutta方法方法KK2022-9-413二階龍格二階龍格庫(kù)塔法庫(kù)塔法 在xi,xi+1上取兩點(diǎn)xi和xi+a2=xi+a2h,以該兩點(diǎn)處的斜率值K1和K2的加權(quán)平均(或稱為線性組合)來(lái)求取平均斜率k*的近似值K,即 2211KcKcK式中:K1 1為xi點(diǎn)處的切線斜率值 K1=hf(xi,yi)=hy(xi)K2 2為xi+a2h點(diǎn)處的切線斜率值,比照改進(jìn)的歐拉法,將xi+a2視為
9、xi+1,即可得),(12122KbyhaxhfKii確定系數(shù) c1、c2、a2、b21,可得到有2階精度的算法格式2022-9-414因此 Kxyxyii)()(1)()(2211KcKcxyi將y(xi+1)在x=xi處進(jìn)行Taylor展開(kāi):)()(!2)()()(321hOxyhxyhxyxyiiii)(!2),()(32hOf ffhyxhfxyyxiii將 在x=xi處進(jìn)行Taylor展開(kāi):),()(121222KbyhaxhfhaxyhKiii152022-9-415)(),(212122hOfKbf hayxfhKyxiiK1=hf(xi,yi)(),(3212hOfhfbf h
10、ayxfhyxii)(22111KcKcyyii)(),(32122hOfhfbf hayxfhcyxii),()(1iiiyxhfcxy),()()(21iiiyxhfccxy)(32221222hOf fhcbfhcayx2022-9-41621,21,12212221cbcacc這里有這里有 4 個(gè)未知個(gè)未知數(shù),數(shù),3 個(gè)方程。個(gè)方程。存在無(wú)窮多個(gè)解無(wú)窮多個(gè)解。所有滿足上式的格式統(tǒng)稱為2階階龍格龍格 -庫(kù)塔格式庫(kù)塔格式。令 11)(iiyxy對(duì)應(yīng)項(xiàng)的系數(shù)相等,得到 2022-9-417注意到,注意到,就是二階就是二階龍格龍格 -庫(kù)塔庫(kù)塔公式,也就是公式,也就是改進(jìn)的歐拉法。改進(jìn)的歐拉法。
11、21,121212ccba),(),(21121211KyhxhfKyxhfKKKyyiiiiiiix1ixxy)(xyyK1K2K 因此,凡滿足條件式有一簇形如上式的計(jì)算格式,這些格式統(tǒng)稱為二階龍格庫(kù)塔格式。因此改進(jìn)的歐拉格式是眾多的二階龍格庫(kù)塔法中的一種特殊格式。2022-9-418若取若取 ,就是另一種形式的二,就是另一種形式的二階階龍格龍格 -庫(kù)塔公式庫(kù)塔公式。1,0,2121212ccba)21,21(),(12121KyhxhfKyxhfKKyyiiiiii此計(jì)算公式稱為變形的二階龍格庫(kù)塔法。式中 為區(qū)間 的中點(diǎn)。也稱中點(diǎn)公式也稱中點(diǎn)公式。hxi211,iixxQ:為獲得更高的精度
12、,應(yīng)該如何進(jìn)一步推廣?為獲得更高的精度,應(yīng)該如何進(jìn)一步推廣?2022-9-419 二級(jí)R-K方法是顯式單步式,每前進(jìn)一步需要計(jì)算兩個(gè)函數(shù)值。由上面的討論可知,適當(dāng)選擇四個(gè)參數(shù)c1,c2,a2,b21,可使每步計(jì)算兩次函數(shù)值的二階R-K方法達(dá)到二階精度。能否在計(jì)算函數(shù)值次數(shù)不變的情況下,通過(guò)選擇不同的參數(shù)值,使得二階R-K方法的精度再提高呢?答案是否定的!無(wú)論四個(gè)參數(shù)怎樣選擇,都不能使公式的局部截?cái)嗾`差提高到三階。這說(shuō)明每一步計(jì)算兩個(gè)函數(shù)值的二階R-K方法最高階為二階。若要獲得更高階得數(shù)值方法若要獲得更高階得數(shù)值方法,就必須增加計(jì)算函就必須增加計(jì)算函數(shù)值的次數(shù)。數(shù)值的次數(shù)。20),(),(),(
13、232131331212213322111KbKbyhaxhfKKbyhaxhfKyxhfKKcKcKcyyiiiiiiii三階龍格三階龍格庫(kù)塔法庫(kù)塔法2022-9-420 為進(jìn)一步提高精度,在區(qū)間xi,xi+1上除兩點(diǎn)xi和xi+a2=xi+a2h,以外,再增加一點(diǎn)xi+a3=xi+a3h,用這三點(diǎn)處的斜率值K1、K2和K3的加權(quán)平均得出平均斜率K*的近似值K,這時(shí)計(jì)算格式具有形式:ix3aix2aixxy)(xyy K1K2K3K2022-9-421 同理推導(dǎo)二階公式,將y(xi+1)和yi+1在x=xi處進(jìn)行Taylor展開(kāi),使局部截?cái)嗾`差達(dá)到O(h4),使對(duì)應(yīng)項(xiàng)的系數(shù)相等,得到系數(shù)方程
14、組:61,6131)(31)(,3121)(,21133221232232323122213231332212323222332312213322321cbbcbacbbcbbbcacbacacacbbcbcacaccc2022-9-422參數(shù)的選擇不唯一,從而構(gòu)成一類不同的三階R-K公式,下面給出一種常用的三階R-K公式,形似simpson公式:)2,()21,2(),()4(612131213211KKyhxhfKKyhxhfKyxhfKKKKyyiiiiiiii2022-9-423四階四階(經(jīng)典經(jīng)典)龍格龍格庫(kù)塔法庫(kù)塔法 如果需要再提高精度,用類似上述的處理方法,只需在區(qū)間xi,xi+1
15、上用四個(gè)點(diǎn)處的斜率加權(quán)平均作為平均斜率K*的近似值,構(gòu)成一系列四階龍格庫(kù)塔公式。具有四階精度,即局部截?cái)嗾`差是O(h5)。推導(dǎo)過(guò)程與前面類似,由于過(guò)程復(fù)雜,這里從略,只介紹最常用的一種四階經(jīng)典龍格四階經(jīng)典龍格庫(kù)塔公式庫(kù)塔公式。2022-9-424 K1=hf(xi,yi)K2=hf(xi+a2h,yi+b21K1)K3=hf(xi+a3h,yi+b31K1+b32K2)K4=hf(xi+a4h,yi+b41K1+b42K2+b43K3)其中c1、c2、c3、c4、a2、a3、a4、b21、b31、b32、b41、b42、b43均為待定系數(shù)。這里K1、K2、K3、K4為四個(gè)不同點(diǎn)上的函數(shù)值,分別
16、設(shè)其為 設(shè)yi+1=yi+c1K1+c2K2+c3K3+c4K42022-9-425 類似于前面的討論,把K2、K3、K4分別在xi點(diǎn)展成h的冪級(jí)數(shù),代入線性組合式中,將得到的公式與y(xi+1)在xi點(diǎn)上的泰勒展開(kāi)式比較,使其兩式右端直到h4的系數(shù)相等,經(jīng)過(guò)較復(fù)雜的解方程過(guò)程便可得到關(guān)于ci,ai,bij的一組特解 a2=a3=b21=b32=1/2 b31=b41=b42=0 a4=b43=1 c1=c4=1/6 c2=c3=1/3 2022-9-426 四階(經(jīng)典)Runge-Kutta方法),()21,2()21,2(),()22(61342312143211KyhxhfKKyhxhf
17、KKyhxhfKyxhfKKKKKyyiiiiiiiiii2022-9-427例1.使用高階R-K方法計(jì)算初值問(wèn)題1)0(5.002yxyy.1.0h取解:(1)使用三階R-K方法時(shí)0i1.0201 hyK1103.0)21(2102KyhK1256.0)2(22103KKyhK1111.1)4(6132101KKKyy28其余結(jié)果如下:(2)如果使用四階R-K方法時(shí)0i1.0201 hyK1103.0)21(2102KyhK i xi k1 k2 k3 yi 1.0000 0.1000 0.1000 0.1103 0.1256 1.1111 2.0000 0.2000 0.1235 0.13
18、76 0.1595 1.2499 3.0000 0.3000 0.1562 0.1764 0.2092 1.4284 4.0000 0.4000 0.2040 0.2342 0.2866 1.6664 5.0000 0.5000 0.2777 0.3259 0.4163 1.99932022-9-4291113.0)21(2203KyhK1235.0)(2304KyhK)22(61.0432101KKKKyy1111.1其余結(jié)果如下:i xi k1 k2 k3 k4 yi 1.0000 0.1000 0.1000 0.1103 0.1113 0.1235 1.1111 2.0000 0.200
19、0 0.1235 0.1376 0.1392 0.1563 1.2500 3.0000 0.3000 0.1562 0.1764 0.1791 0.2042 1.4286 4.0000 0.4000 0.2040 0.2342 0.2389 0.2781 1.6667 5.0000 0.5000 0.2777 0.3259 0.3348 0.4006 2.00002022-9-430【例】已知一階系統(tǒng)的微分方程為:,初始條件 ,取仿真步長(zhǎng)h=0.1,分別用歐拉法、梯形法和龍格庫(kù)塔法計(jì)算該系統(tǒng)仿真第一步的值。102ydtdy1)(00 yty解:原方程可變?yōu)?),(210kkytfydtdy即
20、1210),(0yyytfkkk數(shù)值積分公式應(yīng)用數(shù)值積分公式應(yīng)用 31 (1)用歐拉法計(jì)算 根據(jù)歐拉公式,將函數(shù)表達(dá)式及其初始值代入后,可得該系統(tǒng)仿真第一步的值:8.1)1210(1.01),(0001ythfyy數(shù)值積分公式應(yīng)用數(shù)值積分公式應(yīng)用),(1kkkkythfyy32(2)用梯形法計(jì)算:根據(jù)預(yù)報(bào)校正公式,將函數(shù)表達(dá)式及其初始值代入后,可得仿真第一步的值。用預(yù)報(bào)公式求起始值:8.1)1210(1.01),(0001)0(ythfyy數(shù)值積分公式應(yīng)用數(shù)值積分公式應(yīng)用),(),(21),(1)0(111)0(kkkkkkkkkkytfytfhyyythfyy33再用校正公式得到系統(tǒng)仿真第一
21、步的值:72.1)8.1210()1210(1.0211),(),(211)0(10001ytfytfhyy數(shù)值積分公式應(yīng)用數(shù)值積分公式應(yīng)用 34二階龍格二階龍格-庫(kù)塔公式庫(kù)塔公式)(2)(2111kkhyytynnn),(),(121hkyhtfkytfknnnn35(3)用二階龍格庫(kù)塔法計(jì)算 根據(jù)公式先計(jì)算出兩個(gè)系數(shù),再計(jì)算仿真第一步的值:812100),(001yytfk4.6)81.01(210)(210),(101002hkyhkyhtfk數(shù)值積分公式應(yīng)用數(shù)值積分公式應(yīng)用 36則系統(tǒng)仿真第一步的值為:72.1)4.68(1.0211)(22101kkhyy數(shù)值積分公式應(yīng)用數(shù)值積分公式
22、應(yīng)用 37),()2,2()2,2(),()22(6342312143211hkyhtfkkhyhtfkkhyhtfkytfkkkkkhyykkkkkkkkkk四階龍格四階龍格庫(kù)塔(庫(kù)塔(RungeKutta)法)法5h38(4)用四階龍格庫(kù)塔公式計(jì)算根據(jù)公式先計(jì)算出4個(gè)系數(shù),再計(jì)算仿真第一步的值:81210210),(0001yytfk2.7)81.0211(210)2(210)2,2(101002khykhyhtfk數(shù)值積分公式應(yīng)用數(shù)值積分公式應(yīng)用 3928.7)2.71.0211(210)2(210)2,2(202003khykhyhtfk544.6)28.71.01(210)(210)
23、,(303004hkyhkyhtfk數(shù)值積分公式應(yīng)用數(shù)值積分公式應(yīng)用 40則系統(tǒng)仿真第一步的值為:725067.1)544.628.722.728(1.0611)22(6432101kkkkhyy數(shù)值積分公式應(yīng)用數(shù)值積分公式應(yīng)用 41從上述結(jié)果可以看出從上述結(jié)果可以看出:對(duì)于同一個(gè)系統(tǒng)進(jìn)行仿真計(jì)算時(shí),其值的精度是隨對(duì)于同一個(gè)系統(tǒng)進(jìn)行仿真計(jì)算時(shí),其值的精度是隨著數(shù)值積分公式的變化而改變的,其中歐拉法計(jì)算精著數(shù)值積分公式的變化而改變的,其中歐拉法計(jì)算精度最低,其次為梯形法和二階龍格度最低,其次為梯形法和二階龍格庫(kù)塔法,四階龍庫(kù)塔法,四階龍格格庫(kù)塔法計(jì)算精度最高。庫(kù)塔法計(jì)算精度最高。數(shù)值積分公式應(yīng)用
24、數(shù)值積分公式應(yīng)用 例例2:用:用matlab演示演示42龍格龍格-庫(kù)塔法的誤差估計(jì)庫(kù)塔法的誤差估計(jì) 一個(gè)高精度的仿真方法必須將步長(zhǎng)控制作為手段。一個(gè)高精度的仿真方法必須將步長(zhǎng)控制作為手段。實(shí)現(xiàn)步長(zhǎng)控制涉及局部誤差估計(jì)和步長(zhǎng)控制策略兩實(shí)現(xiàn)步長(zhǎng)控制涉及局部誤差估計(jì)和步長(zhǎng)控制策略兩方面的問(wèn)題。方面的問(wèn)題。43龍格龍格-庫(kù)塔法的誤差估計(jì)庫(kù)塔法的誤差估計(jì) RK方法的誤差估計(jì)通常是設(shè)法找一個(gè)低一階的方法的誤差估計(jì)通常是設(shè)法找一個(gè)低一階的RK公式,將公式,將兩個(gè)公式計(jì)算結(jié)果之差作為估計(jì)誤差。例如兩個(gè)公式計(jì)算結(jié)果之差作為估計(jì)誤差。例如Runge-Kutta-Fehlberg法的計(jì)算公式是法的計(jì)算公式是 RKF
25、1-2公式公式 用另一個(gè)一階公式用另一個(gè)一階公式 來(lái)估計(jì)誤差來(lái)估計(jì)誤差)k(k512hyyE)255k(k256hyy)255k(k256hyh,ftk)k2hy,2hf(tk)y,f(tk)k510k(k512hyy311n1nk21k1n21nn31nn2nn1321n1n44龍格龍格-庫(kù)塔法的誤差估計(jì)庫(kù)塔法的誤差估計(jì) RKM3-4公式:誤差估計(jì)式用公式:誤差估計(jì)式用3 階,計(jì)算公式為階,計(jì)算公式為4 階。階。RKM3-4公式公式 誤差估計(jì)公式誤差估計(jì)公式)k8k9k(2k6hE)3k4k(k2hyh,ftk)3k(k8hy,2hftk)k(k6hy,3hftk)k3hy,3hf(tk)y
26、,f(tk)k4k(k6hyy5431n341nn531nn421nn31nn2nn1541k1n45龍格龍格-庫(kù)塔法的步長(zhǎng)控制庫(kù)塔法的步長(zhǎng)控制 龍格龍格-庫(kù)塔法的誤差估計(jì)和步長(zhǎng)控制策略的基本思想庫(kù)塔法的誤差估計(jì)和步長(zhǎng)控制策略的基本思想是:每積分一步都設(shè)法估計(jì)出本步的積分誤差是:每積分一步都設(shè)法估計(jì)出本步的積分誤差en,然后判斷是否滿足允許誤差然后判斷是否滿足允許誤差E,據(jù)此選擇相應(yīng)的步,據(jù)此選擇相應(yīng)的步長(zhǎng)控制策略。長(zhǎng)控制策略。每一步的局部誤差通常取以下形式每一步的局部誤差通常取以下形式 en=En/(|yn|+1)其中其中|yn|是利用誤差估計(jì)式計(jì)算出的本步的估計(jì)誤是利用誤差估計(jì)式計(jì)算出的本
27、步的估計(jì)誤差。當(dāng)差。當(dāng)|yn|較大時(shí),較大時(shí),en是相對(duì)誤差,當(dāng)是相對(duì)誤差,當(dāng)|yn|較小時(shí),較小時(shí),en 是絕對(duì)誤差。這樣作的目的是避免當(dāng)是絕對(duì)誤差。這樣作的目的是避免當(dāng)y 的值很小的值很小時(shí),時(shí),en變得過(guò)大。變得過(guò)大。46仿真模型的運(yùn)行速度與實(shí)際系統(tǒng)運(yùn)行速度一致,稱為實(shí)時(shí)仿真。一般方法難以滿足實(shí)時(shí)仿真的需要:所得模型的執(zhí)行速度較慢;機(jī)理也不符合實(shí)時(shí)仿真的需要。假設(shè)對(duì)一般形式的系統(tǒng)進(jìn)行仿真:以RK-2為例進(jìn)行分析,其公式為 )(,(tuyfdtdy),(),()(211121211hkyutfkyutfkkkhyynnnnnnnn實(shí)時(shí)仿真47 假定在h/2的時(shí)間內(nèi)計(jì)算機(jī)剛好計(jì)算一次右端函數(shù)
28、f,則計(jì)算分為兩步:1 在tk時(shí)刻利用當(dāng)前的un、yn計(jì)算K1;2 在tn+h/2時(shí)刻計(jì)算K2,此時(shí)un+1無(wú)法得到,但實(shí)時(shí)仿真除了要滿足執(zhí)行速度的要求外,還要求實(shí)時(shí)接收外部輸入,并實(shí)時(shí)得到輸出。1nu采入2k計(jì)算1k計(jì)算nt2htn1nntht21htn21nntht?48 此種情況下,解決的方法有兩個(gè):對(duì)un+1進(jìn)行預(yù)報(bào)(增大仿真誤差)或仿真延遲半個(gè)計(jì)算步距。后者的計(jì)算流程如下 可見(jiàn),后種方法的輸出也會(huì)延遲半個(gè)計(jì)算步距,為了克服這個(gè)缺陷,人們提出了如下形式的實(shí)時(shí)二階RK法圖圖 RK-2 2的計(jì)算流程的計(jì)算流程nt2htn1nu采入并輸出計(jì)算1ny1k計(jì)算下一個(gè)2k計(jì)算1k計(jì)算1nntht2
29、1htn21nntht49 實(shí)時(shí)RK-2公式:)2,(),(12/12/12121khyutfkyutfkhkyynnnnnnnn 其計(jì)算流程:假定在h/2的時(shí)間內(nèi)計(jì)算機(jī)也剛好計(jì)算一次右端函數(shù)f,則計(jì)算也分為兩步:1 在tn時(shí)刻利用當(dāng)前的un、yn計(jì)算K1;2 在tn+h/2時(shí)刻計(jì)算K2,此時(shí)un+1/2可以得到,不會(huì)引入新的誤差,可實(shí)時(shí)得到y(tǒng)n+1圖圖 實(shí)時(shí)實(shí)時(shí)RK-2RK-2公式計(jì)算流程公式計(jì)算流程1k計(jì)算2k計(jì)算1k計(jì)算下一個(gè))2/(htun采入并輸出計(jì)算1nynt2htn1nntht21htn21nntht50512022-9-451由上節(jié)分析常微分方程數(shù)值解法穩(wěn)定性問(wèn)題的方法,可得到
30、各階Runge-Kutta公式的穩(wěn)定性條件:二階二階121122hh與歐拉預(yù)估校正公式一致三階三階1)(!31)(!21132hhh四階四階1)(!41)(!31)(!211432hhhh龍格庫(kù)塔方法的穩(wěn)定性條件龍格庫(kù)塔方法的穩(wěn)定性條件2022-9-452 龍格庫(kù)塔方法的推導(dǎo)基于Taylor展開(kāi)方法,因而它要求所求的解具有較好的光滑性。如果解的光滑性差,那么,使用四階龍格庫(kù)塔方法求得的數(shù)值解,其精度可能反而不如改進(jìn)的歐拉方法。在實(shí)際計(jì)算時(shí),應(yīng)當(dāng)針對(duì)問(wèn)題的具體特點(diǎn)選擇合適的算法。對(duì)于光滑性不太好的解,最好采用對(duì)于光滑性不太好的解,最好采用低階算法低階算法而將步長(zhǎng)而將步長(zhǎng)h 取小取小。2022-9
31、-453 前面已經(jīng)看到,二階、四階R-K方法可分別達(dá)到最高階數(shù)2 2階、4 4階,但是N階R-K方法的最高階卻不一定是N階。R-K方法的級(jí)數(shù)表示公式中計(jì)算函數(shù)值f 的次數(shù)。Butcher于1965年給出了R-K方法計(jì)算函數(shù)值f 的次數(shù)與可達(dá)到的最高精度階數(shù)之間的關(guān)系表,如下:由表可見(jiàn),四級(jí)以下R-K的方法其最高階數(shù)與計(jì)算f 的次數(shù)一致,對(duì)m階R-K公式,當(dāng)m4,雖然計(jì)算f 的次數(shù)增加,但是方法階數(shù)不一定增加。因此四階R-K公式是應(yīng)用最為廣泛的公式。753可達(dá)到的最高精度可達(dá)到的最高精度642每步須算每步須算Ki 的個(gè)數(shù)的個(gè)數(shù))(2hO)(3hO)(4hO)(5hO)(6hO)(4hO)(2nhO8n2022-9-454 順便指出,當(dāng)常微分方程中的f(t,u)與u無(wú)關(guān)時(shí),常微分方程初值問(wèn)題便簡(jiǎn)化為計(jì)算定積分的問(wèn)題。這時(shí),第一節(jié)介紹的Euler方法就是求定積分的矩形公式,改進(jìn)的Euler方法就是求定積分的梯形公式,而三階Runge-Kutta公式就是計(jì)算定積分的Simpson公式,它們的精度也是一致的。
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國(guó)人民警察節(jié)(筑牢忠誠(chéng)警魂感受別樣警彩)
- 2025正字當(dāng)頭廉字入心爭(zhēng)當(dāng)公安隊(duì)伍鐵軍
- XX國(guó)企干部警示教育片觀后感筑牢信仰之基堅(jiān)守廉潔底線
- 2025做擔(dān)當(dāng)時(shí)代大任的中國(guó)青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會(huì)圍繞六個(gè)干字提要求
- XX地區(qū)中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 支部書(shū)記上黨課筑牢清廉信念為高質(zhì)量發(fā)展?fàn)I造風(fēng)清氣正的環(huán)境
- 冬季消防安全知識(shí)培訓(xùn)冬季用電防火安全
- 2025加強(qiáng)政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進(jìn)持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個(gè)人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 幼兒園期末家長(zhǎng)會(huì)長(zhǎng)長(zhǎng)的路慢慢地走