常微分方程解Word版_第1頁
常微分方程解Word版_第2頁
常微分方程解Word版_第3頁
常微分方程解Word版_第4頁
常微分方程解Word版_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第四章常微分方程數(shù)值解課時(shí)安排 6學(xué)時(shí)教學(xué)課型 理論課教學(xué)目的和要求了解常微分方程初值問題數(shù)值解法的一些基本概念,如單步法和多步法,顯式和隱式,方法的階數(shù),整體截?cái)嗾`差和局部截?cái)嗾`差的區(qū)別和關(guān)系等;掌握一階常微分方程初值問題的一些常用的數(shù)值計(jì)算方法,例如歐拉(Euler)方法、改進(jìn)的歐拉方法、龍貝庫塔(Runge-Kutta)方法、阿達(dá)姆斯(Adams)方法等,要注意各方法的特點(diǎn)及有關(guān)的理論分析;掌握構(gòu)造常微分方程數(shù)值解的數(shù)值積分的構(gòu)造方法和泰勒展開的構(gòu)造方法的基本思想,并能具體應(yīng)用它們導(dǎo)出一些常用的數(shù)值計(jì)算公式及評估截?cái)嗾`差;熟練掌握龍格庫塔()方法的基本思想,公式的推導(dǎo),公式中系數(shù)的確定,

2、特別是能應(yīng)用“標(biāo)準(zhǔn)四階公式”解題;掌握數(shù)值方法的收斂性和穩(wěn)定性的概念,并能確定給定方法的絕對穩(wěn)定性區(qū)域。教學(xué)重點(diǎn)與難點(diǎn)重點(diǎn):歐拉方法,改進(jìn)的歐拉方法,龍貝庫塔方法。難點(diǎn):RK方法,預(yù)估-校正公式。教學(xué)內(nèi)容與過程4.1引言本章討論常微分方程初值問題 (4.1.1)的數(shù)值解法,這也是科學(xué)與工程計(jì)算經(jīng)常遇到的問題,由于只有很特殊的方程能用解析方法求解,而用計(jì)算機(jī)求解常微分方程的初值問題都要采用數(shù)值方法.通常我們假定(4.1.1)中f(x,y)對y滿足Lipschitz條件,即存在常數(shù)L0,使對,有 (4.1.2)則初值問題(4.1.1)的解存在唯一.假定(4.1.1)的精確解為,求它的數(shù)值解就是要在

3、區(qū)間上的一組離散點(diǎn)上求的近似.通常取,h稱為步長,求(4.1.1)的數(shù)值解是按節(jié)點(diǎn)的順序逐步推進(jìn)求得.首先,要對方程做離散逼近,求出數(shù)值解的公式,再研究公式的局部截?cái)嗾`差,計(jì)算穩(wěn)定性以及數(shù)值解的收斂性與整體誤差等問題.2 / 404.2簡單的單步法及基本概念4.2.1Euler法、后退Euler法與梯形法求初值問題(4.1.1)的一種最簡單方法是將節(jié)點(diǎn)的導(dǎo)數(shù)用差商代替,于是(4.1.1)的方程可近似寫成 (4.2.1)從出發(fā),由(4.2.1)求得再將代入(4.2.1)右端,得到的近似,一般寫成 (4.2.2)稱為解初值問題的Euler法.Euler法的幾何意義如圖4-1所示.初值問題(4.1.

4、1)的解曲線y=y(x)過點(diǎn),從出發(fā),以為斜率作一段直線,與直線交點(diǎn)于,顯然有,再從出發(fā),以為斜率作直線推進(jìn)到上一點(diǎn),其余類推,這樣得到解曲線的一條近似曲線,它就是折線.Euler法也可利用的Taylor展開式得到,由(4.2.3)略去余項(xiàng),以,就得到近似計(jì)算公式(4.2.2).另外,還可對(4.1.1)的方程兩端由到積分得 (4.2.4)若右端積分用左矩形公式,用,則得(4.2.2).如果在(4.2.4)的積分中用右矩形公式,則得 (4.2.5)稱為后退(隱式)Euler法.若在(4.2.4)的積分中用梯形公式,則得(4.2.6)稱為梯形方法.上述三個(gè)公式(4.2.2),(4.2.5)及(4

5、.2.6)都是由計(jì)算,這種只用前一步即可算出的公式稱為單步法,其中(4.2.2)可由逐次求出的值,稱為顯式方法,而(4.2.5)及(4.2.6)右端含有當(dāng)f對y非線性時(shí)它不能直接求出,此時(shí)應(yīng)把它看作一個(gè)方程,求解,這類方法稱為穩(wěn)式方法.此時(shí)可將(4.2.5)或(4.2.6)寫成不動(dòng)點(diǎn)形式的方程這里對式(4.2.5)有,對(4.2.6)則,g與無關(guān),可構(gòu)造迭代法(4.2.7)由于對y滿足條件(4.1.2),故有當(dāng)或,迭代法(4.2.4)收斂到,因此只要步長h足夠小,就可保證迭代(4.2.4)收斂.對后退Euler法(4.2.5),當(dāng)時(shí)迭代收斂,對梯形法(4.2.6),當(dāng)時(shí)迭代序列收斂.例4.1

6、用Euler法、隱式Euler法、梯形法解取h=0.1,計(jì)算到x=0.5,并與精確解比較.解 本題可直接用給出公式計(jì)算.由于,Euler法的計(jì)算公式為n=0時(shí),.其余n=1,2,3,4的計(jì)算結(jié)果見表4-1.對隱式Euler法,計(jì)算公式為解出當(dāng)n=0時(shí),.其余n=1,2,3,4的計(jì)算結(jié)果見表4-1.表4-1 例4.1的三種方法及精確解的計(jì)算結(jié)果對梯形法,計(jì)算公式為解得當(dāng)n=0時(shí),.其余n=1,2,3,4的計(jì)算結(jié)果見表4-1.本題的精確解為,表4-1列出三種方法及精確解的計(jì)算結(jié)果.4.2.2 單步法的局部截?cái)嗾`差解初值問題(4.1.1)的單步法可表示為(4.2.8)其中與有關(guān),稱為增量函數(shù),當(dāng)含有

7、時(shí),是隱式單步法,如(4.2.5)及(4.2.6)均為隱式單步法,而當(dāng)不含時(shí),則為顯式單步法,它表示為(4.2.9)如Euler法(4.2.2),.為討論方便,我們只對顯式單步法(4.2.9)給出局部截?cái)嗾`差概念.定義2.1 設(shè)y(x)是初值問題(4.1.1)的精確解,記 (4.2.10)稱為顯式單步法(4.2.9)在的局部截?cái)嗾`差.之所以稱為局部截?cái)嗾`差,可理解為用公式(4.2.9)計(jì)算時(shí),前面各步都沒有誤差,即,只考慮由計(jì)算到這一步的誤差,此時(shí)由(4.2.10)有局部截?cái)嗾`差(4.2.10)實(shí)際上是將精確解代入(4.2.9)產(chǎn)生的公式誤差,利用Taylor展開式可得到.例如對Euler法(

8、4.2.2)有,故它表明Euler法(4.2.2)的局部截?cái)嗾`差為,稱為局部截?cái)嗾`差主項(xiàng).定義2.2 設(shè)是初值問題(4.1.1)的精確解,若顯式單步法(4.2.9)的局部截?cái)嗾`差,是展開式的最大整數(shù),稱為單步法(4.2.9)的階,含的項(xiàng)稱為局部截?cái)嗾`差主項(xiàng).根據(jù)定義,Euler法(4.2.2)中的=1故此方法為一階方法.對隱式單步法(4.2.8)也可類似求其局部截?cái)嗾`差和階,如對后退Euler法(4.2.5)有局部截?cái)嗾`差故此方法的局部截?cái)嗾`差主項(xiàng)為,也是一階方法.對梯形法(4.2.6)同樣有它的局部誤差主項(xiàng)為,方法是二階的.4.2.3 改進(jìn)Euler法上述三種簡單的單步法中,梯形法(4.2.

9、6)為二階方法,且局部截?cái)嗾`差最小,但方法是隱式的,計(jì)算要用迭代法.為避免迭代,可先用Euler法計(jì)算出的近似,將(4.2.6)改為(4.2.11)稱為改進(jìn)Euler法,它實(shí)際上是顯式方法.即(4.2.12)右端已不含.可以證明,=2,故方法仍為二階的,與梯形法一樣,但用(4.2.11)計(jì)算不用迭代.例4.2 用改進(jìn)Euler法求例4.1的初值問題并與Euler法和梯形法比較誤差的大小.解 將改進(jìn)Euler法用于例4.1的計(jì)算公式當(dāng)n=0時(shí),.其余結(jié)果見表4-2.表4-2 改進(jìn)Euler法及三種方法的誤差比較從表4-2中看到改進(jìn)Euler法的誤差數(shù)量級與梯形法大致相同,而比Euler法小得多,

10、它優(yōu)于Euler法.講解: 求初值問題(4.1.1)的數(shù)值解就是在假定初值問題解存在唯一的前提下在給定區(qū)間上的一組離散點(diǎn)上求解析解的一組近似為此先要建立求數(shù)值解的計(jì)算公式,通常稱為差分公式,簡單的單步法就是由計(jì)算下一步,構(gòu)造差分公式有三種方法,一是用均差(即差商)近似,二是用等價(jià)的積分方程(4.2.4)用數(shù)值積分方法,三是用函數(shù)的Taylor展開,其中Taylor展開最有普遍性,可以得到任何數(shù)值解的計(jì)算公式及其局部截?cái)嗾`差。計(jì)算公式是微分方程的一種近似,局部截?cái)嗾`差的概念就是刻劃這種逼迫的好壞。當(dāng)為微分方程的解,即,而用,定義局部截?cái)嗾`差,它表示用精確解代入計(jì)算公式(4.2.9)產(chǎn)生的公式誤差

11、為越大表明公式逼近微分方程的精度越高,因此就定義為公式的階,通常的公式才能用于計(jì)算初值問題(4.1.1)的數(shù)值解。利用Taylor展開時(shí),只要將 的表達(dá)式在處展開成Taylor公式就可得到不同公式的局部截?cái)嗾`差。如4.2.2所給出的Euler法。后退Euler法和梯形法,它們只需用一元函數(shù)的Taylor展開,與后面4.5節(jié)的多步法完全一致,而通常單步法(4.2.9)的一般情況則需要用二元函數(shù)的Taylor展開,才能得到公式的具體形式和局部截?cái)嗾`差。例如對改進(jìn)Euler法,其局部截?cái)嗾`差由(4.2.12)可得 要求出它的結(jié)果就要用到二元函數(shù)的Taylor展開,將在4.3節(jié)再作介紹。4.3 Run

12、ge-Kutta方法4.3.1 顯式 Runge-Kutta法的一般形式 上節(jié)已給出與初值問題(4.1.1)等價(jià)的積分形式 (4.3.1)只要對右端積分用不同的數(shù)值求積公式近似就可得到不同的求解初值問題(4.1.1)的數(shù)值方法,若用顯式單步法 (4.3.2)當(dāng),即數(shù)值求積用左矩形公式,它就是Euler法(4.2.2),方法只有一階,若取 (4.3.3)就是改進(jìn)Euler法,這時(shí)數(shù)值求積公式是梯形公式的一種近似,計(jì)算時(shí)要用二個(gè)右端函數(shù)f的值,但方法是二階的.若要得到更高階的公式,則求積分時(shí)必須用更多的f值,根據(jù)數(shù)值積分公式,可將(4.3.1)右端積分表示為注意,右端f中還不能直接得到,需要像改進(jìn)

13、Euler法(4.2.11)一樣,用前面已算得的f值表示為(4.3.3),一般情況可將(4.3.2)的表示為 (4.3.4)其中這里均為待定常數(shù),公式(4.3.2),(4.3.4)稱為r級的顯式Runge-Kutta法,簡稱R-K方法.它每步計(jì)算r個(gè)f值(即),而ki由前面(i-1)個(gè)已算出的表示,故公式是顯式的.例如當(dāng)r=2時(shí),公式可表示為 (4.3.5)其中.改進(jìn)Euler法(4.2.11)就是一個(gè)二級顯式R-K方法.參數(shù)取不同的值,可得到不同公式.4.3.2 二、三級顯式R-K方法對r=2的顯式R-K方法(4.3.5),要求選擇參數(shù),使公式的階p盡量高,由局部截?cái)嗾`差定義(4.3.6)令

14、,對(4.3.6)式在處按Taylor公式展開,由于 將上述結(jié)果代入(4.3.6)得要使公式(4.3.5)具有的階p=2,即,必須 (4.3.4)即由此三式求的解不唯一.因r=2,故,于是有解 (4.3.8)它表明使(4.3.5)具有二階的方法很多,只要都可得到二階R-K方法.若取,則,則得改進(jìn)Euler法(4.2.11),若取,則得,此時(shí)(4.3.5)為(4.3.9)其中稱為中點(diǎn)公式.后退Euler法(4.2.11)及中點(diǎn)公式(4.3.9)是兩個(gè)常用的二級R-K方法,注意二級R-K方法只能達(dá)到二階,而不可能達(dá)到三階.因?yàn)閞=2只有4個(gè)參數(shù),要達(dá)到p=3則在(4.3.6)的展開式中要增加3項(xiàng),

15、即增加三個(gè)方程.加上(4.3.4)的三個(gè)方程求4個(gè)待定參數(shù)是無解的.當(dāng)然r=2,p=2的R-K方法(4.3.5)當(dāng)取其他數(shù)時(shí),也可得到其他公式,但系數(shù)較復(fù)雜,一般不再給出.對r=3的情形,要計(jì)算三個(gè)k值,即其中將按二元函數(shù)在處按Taylor公式展開,然后代入局部截?cái)嗾`差表達(dá)式,可得可得三階方法,其系數(shù)應(yīng)滿足方程 (4.3.10)這是8個(gè)未知數(shù)6個(gè)方程的方程組,解也是不唯一的,通常.一種常見的三級三階R-K方法是下面的Kutta三階方法: (4.3.11)4.3.3 四階R-K方法及步長的自動(dòng)選擇利用二元函數(shù)Taylor展開式可以確定(4.3.4)中r=4,p=4的R-K方法,經(jīng)典的四階R-K方

16、法是: (4.3.12)它的局部截?cái)嗾`差,故p=4,這是最常用的四階R-K方法,數(shù)學(xué)庫中都有用此方法求解初值問題的軟件.這種方法的優(yōu)點(diǎn)是精度較高,缺點(diǎn)是每步要算4個(gè)右端函數(shù)值,計(jì)算量較大.例4.3 用經(jīng)典四階R-K方法解例4.1的初值問題,仍取h=0.1,計(jì)算到,并與改進(jìn)Euler法、梯形法在處比較其誤差大小.解 用四階R-K方法公式(4.3.12),此處,于是當(dāng)n=0時(shí)于是,按公式(4.3.12)可算出此方法誤差:改進(jìn)Euler法誤差:梯形法誤差:可見四階R-K方法的精度比二階方法高得多.用四階R-K方法求解初值問題(4.1.1)精度較高,但要從理論上給出誤差的估計(jì)式則比較困難.那么應(yīng)如何判

17、斷計(jì)算結(jié)果的精度以及如何選擇合適的步長h?通常是通過不同步長在計(jì)算機(jī)上的計(jì)算結(jié)果近似估計(jì).設(shè)在處的值,當(dāng)時(shí),的近似為,于是由四階R-K方法有若以為步長,計(jì)算兩步到,則有 于是得 即或 (4.3.13)它給出了誤差的近似估計(jì).如果(為給定精度),則認(rèn)為以為步長的計(jì)算結(jié)果滿足精度要求,若,則還可放大步長.因此(4.3.13)提供了自動(dòng)選擇步長的方法.講解:求初值問題(4.1.1)的單步法主要是指Runge-Kutta法,本節(jié)主要討論顯式RK方法,建立具體的計(jì)算公式使用的是Taylor展開,形如(4.3.4)的顯式RK方法,當(dāng)r1時(shí)就是Euler法,因此只要討論的計(jì)算公式,在r確定后如何推導(dǎo)公式都是

18、一樣的,只是r越大計(jì)算越復(fù)雜,為了掌握了解公式來源,只要以r2為例推導(dǎo)計(jì)算公式即可。因此本節(jié)重點(diǎn)就是用Taylor展開求出r2的顯式R-K方法的計(jì)算公式,由于方法的局部截?cái)嗾`差為(4.3.6),的右端有的項(xiàng),要對它做Taylor展開,就要用到二元函數(shù)的Taylor展開,按照二元函數(shù)Taylor級數(shù)(4.3.14)將它用到(4.3.6)的的展開式中,即可得到按升冪整理出的結(jié)果,對r2的公式只能得到2階的公式,即,于是2級R-K方法(4.3.5)的系數(shù)必須滿足(4.3.4)給出的方程,它的解由(4.3.8)給出,只要,求出的公式都是r=2的2階R-K方法。而常用的就是得到的改進(jìn)Euler法(4.2

19、.11)和得到的中點(diǎn)公式(4.3.9)。4.4 單步法的收斂性與絕對穩(wěn)定性4.4.1 單步法的收斂性定義4.1 設(shè)y(x)是初值問題(4.1.1)的精確解,是單步法(4.3.2)在處產(chǎn)生的近似解,若則稱方法(4.3.2)產(chǎn)生的數(shù)值解收斂于.實(shí)際上,定義中是一固定點(diǎn),當(dāng)h0時(shí)n,n不是固定的.因顯然方法收斂,則在固定點(diǎn)處的整體誤差,當(dāng)p1時(shí).下面定理給出方法(4.3.2)收斂的條件.定理4.1設(shè)初值問題(4.1.1)的單步法(4.3.2)是p階方法(p1),且函數(shù)對y滿足Lipschitz條件,即存在常數(shù)L0,使對,均有 則方法(4.3.2)收斂,且.定理證明略.可見3.4.4.2 絕對穩(wěn)定性用

20、單步法(4.3.2)求數(shù)值解,由于原始數(shù)據(jù)及計(jì)算過程舍入誤差影響,實(shí)際得到的不是而是,其中是誤差,再計(jì)算下一步得到以Euler法為例,若令,則(4.4.1)如果,則從計(jì)算到誤差不增長,它是穩(wěn)定的.但如果條件不滿足就不穩(wěn)定.例4.4 y=-100y,y(0)=1,精確解為,用Euler法求解得若取h=0.025,則,當(dāng),而,顯然計(jì)算是不穩(wěn)定的.如果用后退Euler法(4.2.5)解此例,仍取h=0.025,則,即顯然當(dāng),計(jì)算是穩(wěn)定的.由此看到穩(wěn)定性與方法有關(guān),也與有關(guān),在此例中.在研究方法的穩(wěn)定性時(shí),通常不必對一般的f(x,y)進(jìn)行討論,而只針對模型方程 (4.4.2)這里可能為復(fù)數(shù).規(guī)定是因?yàn)?/p>

21、時(shí)微分方程(4.4.2)本身是不穩(wěn)定的,而討論數(shù)值方法(4.3.2)的穩(wěn)定性,必須在微分方程本身穩(wěn)定的前提下進(jìn)行.另一方面,對初值問題(4.1.1),若將f(x,y)在處線性展開,可得于是方程(4.1.1)可近似表示為它表明用模型方程(4.4.2)是合理的,至于模型方程(4.4.2)中所以用復(fù)數(shù)是因?yàn)槌踔祮栴}(4.1.1)如果是方程組,即,則是(m×m)階矩陣,其特征值可能是復(fù)數(shù).當(dāng)然對單個(gè)方程,就是實(shí)數(shù),此時(shí)只要規(guī)定0即可.用單步法(4.3.2)解模型方程(4.4.2)可得到 (4.4.3)其中依賴所選方法,如用Euler法則(4.4.4)此時(shí)由(4.4.1)看到誤差方程也為,與(

22、4.4.4)是一樣的.因此對一般單步法(4.3.2)誤差方程也與(4.4.3)一致.下面再考慮二階R-K方法有對四階R-K方法,可得定義4.2將單步法(4.3.2)用于解模型方程(4.4.2),若得到(4.4.3)中的 則稱方法是絕對穩(wěn)定的.在復(fù)平面上復(fù)變量滿足 的區(qū)域,稱為方法(4.3.2)的絕對穩(wěn)定域,它與實(shí)軸的交點(diǎn)稱為絕對穩(wěn)定區(qū)間.例如對Euler法, 在復(fù)平面上是以(-1,0)為圓心,以1為半徑的單位圓域內(nèi)部,當(dāng)為實(shí)數(shù)時(shí),則得絕對穩(wěn)定區(qū)間為,因0,故有.在例4.4中 時(shí)方法穩(wěn)定,而例中取h=0.025故不穩(wěn)定.對后退Euler法(4.2.5),因0,故,其絕對穩(wěn)定域是以(1,0)為圓心

23、的單位圓外部,絕對穩(wěn)定區(qū)間為,即對任何h0方法都是絕對穩(wěn)定的.二階R-K方法的絕對穩(wěn)定區(qū)間為.三階R-K方法的絕對穩(wěn)定區(qū)間為.四階R-K方法的絕對穩(wěn)定區(qū)間為.例4.5 用經(jīng)典四階R-K方法計(jì)算初值問題 步長取h=0.1及0.2,給出計(jì)算誤差并分析其穩(wěn)定性.解 本題直接按R-K方法(4.3.12)的公式計(jì)算.因精確解為,其計(jì)算誤差如表所示.從計(jì)算結(jié)果看到,h=0.2時(shí)誤差很大,這是由于在=-20,h=0.2時(shí)h=-4,而四階R-K方法的絕對穩(wěn)定區(qū)間為-2.485,0,故h=0.2時(shí)計(jì)算不穩(wěn)定,誤差很大.而h=0.1時(shí)=-2,其值在絕對穩(wěn)定區(qū)間-2.485,0內(nèi),計(jì)算穩(wěn)定,故結(jié)果是可靠的.講解:由

24、于微分方程初值問題數(shù)值解公式求出的解是一個(gè)逐次遞推的過程,因此原始數(shù)據(jù)誤差及計(jì)算過程舍入誤差對解的影響就是數(shù)值方法絕對穩(wěn)定性研究的問題,如果由計(jì)算誤差不增長,方法就是絕對穩(wěn)定的。為使問題得到簡化通常就是將方法用于解模型方程(4.4.2),對于單步法得到的差分方程為,由于模型方程的,代入Euler法,得,對二階R-K方法,例如,用改進(jìn)Euler法于是對三階R-K方法有對四階R-K方法有 只要方法,就是絕對穩(wěn)定的,這時(shí)的值當(dāng)n增大式是減少的,故計(jì)算穩(wěn)定。這時(shí)舍入誤差影響可忽略不計(jì),而當(dāng),則增大,方法不穩(wěn)定,計(jì)算結(jié)果是不可靠的。因此用顯式單步法必須使,也就是步長選擇要滿足這一要求。對于隱式的梯形公式

25、將模型方程,即代入得于是注意,于是有,對成立。這就表明對任意步長h,梯形法都是絕對穩(wěn)定的。4.5 線性多步法4.5.1 線性多步法的一般公式前面給出了求解初值問題(4.1.1)的單步法,其特點(diǎn)是計(jì)算 時(shí)只用到 的值,此時(shí) 的值均已算出.如果在計(jì)算 時(shí)除用 的值外,還用到 的值,這就是多步法.若記,h為步長,則線性多步法可表示為(4.5.1)其中為常數(shù),若,稱(4.5.1)為線性k步法.計(jì)算時(shí)用到前面已算出的k個(gè)值.當(dāng)時(shí),(4.5.1)為顯式方法,當(dāng)則稱(4.5.1)為隱式多步法.隱式方法與梯形方法一樣,計(jì)算時(shí)要用迭代法求.多步法(4.5.1)的局部截?cái)嗾`差定義也與單步法類似.定義5.1設(shè)y(x

26、)是初值問題(4.1.1)的精確解,線性多步法(4.5.1)在處的局部截?cái)嗾`差定義為(4.5.2)若,則稱線性多步法(4.5.1)是p階的.如果我們希望得到的多步法是p階的,則可利用Taylor公式展開,將在處展開到階,它可表示為(4.5.3)注意,(4.5.2)式按Taylor展開可得經(jīng)整理比較系數(shù)可得(4.5.4)若線性多步法(4.5.1)為p階,則可令于是得局部截?cái)嗾`差 (4.5.5)右端第一項(xiàng)稱為局部截?cái)嗾`差主項(xiàng).稱為誤差常數(shù).要使多步法(4.5.1)逼近初值問題(4.1.1),方法的階p1,當(dāng)p=1時(shí),則,由(4.5.4)得稱為相容性條件.公式(4.5.1)當(dāng)k=1時(shí)即為單步法,若,

27、由(4.5.6)則得式(4.5.1)就是,即為Euler法.此時(shí),方法為p=1階.若,由得,為確定及,必須令,由(4.5.4)得及此時(shí)(4.5.1)就是,即為梯形法.由故p=2,方法是二階的,與4.1節(jié)中給出的結(jié)果相同.實(shí)際上,當(dāng)k給定后,則可利用(4.5.4)求出公式(4.5.1)中的系數(shù)及,并求得的表達(dá)式(4.5.5).4.5.2 Adams顯式與隱式方法形如(4.5.7)的k步法稱為 Adams 方法,當(dāng) 時(shí)為 Adams 顯式方法,當(dāng)時(shí),稱為Adams隱式方法.對初值問題(4.1.1)的方程兩端從到積分得顯然只要對右端的積分用插值求積公式,求積節(jié)點(diǎn)取為即可推出形如(4.5.4)的多步法

28、,但這里我們?nèi)圆捎肨aylor展開的方法直接確定(4.5.4)的系數(shù).對比(4.5.1)可知,此時(shí),只要確定即可.現(xiàn)在若k=4且,即為4步的Adams顯式方法其中為待定參數(shù),若直接用(4.5.4),可知此時(shí)自然成立,再令可得解此方程組得.由此得到于是得到四階Adams顯式方法及其余項(xiàng)為 (4.5.8) (4.5.9)若,則可得到p=4的Adams隱式公式,則k=3并令,由(4.5.4)可得解得,而,于是得到四階Adams隱式方法及余項(xiàng)為(4.5.10) (4.5.11)一般情形,k步Adams顯式方法是k階的,k=1即為Euler法,k=2為k=3時(shí),.k步隱式方法是(k+1)階公式,k=1為

29、梯形法,k=2為三階隱式Adams公式k步的Adams方法計(jì)算時(shí)必須先用其他方法求出前面k個(gè)初值才能按給定公式算出后面各點(diǎn)的值,它每步只需計(jì)算一個(gè)新的f值,計(jì)算量少,但改變步長時(shí)前面的也要跟著重算,不如單步法簡便.例4.6 用四階顯式Adams方法及四階隱式Adams方法解初值問題,步長h=0.1用到的初始值由精確解計(jì)算得到.解 本題直接由公式(4.5.8)及(4.5.10)計(jì)算得到.對于顯式方法,將直接代入式(4.5.8)得到其中.對于隱式方法,由式(4.5.10)可得到直接求出,而不用迭代,得到計(jì)算結(jié)果如表所示. 4.5.3 Adams預(yù)測-校正方法上述給出的Adams顯式方法計(jì)算簡單,但

30、精度比隱式方法差,而隱式方法由于每步要做迭代,計(jì)算不方便.為了避免迭代,通??蓪⑼A的顯式Adams方法與隱式Adams方法結(jié)合,組成預(yù)測-校正方法.以四階方法為例,可用顯式方法(4.5.8)計(jì)算初始近似,這個(gè)步驟稱為預(yù)測(Predictor),以P表示,接著計(jì)算f值(Evaluation),,這個(gè)步驟用E表示,然后用隱式公式(4.5.10)計(jì)算,稱為校正(Corrector),以C表示,最后再計(jì)算,為下一步計(jì)算做準(zhǔn)備.整個(gè)算法如下:(4.5.12)公式(4.5.12)稱為四階Adams預(yù)測-校正方法(PECE).利用(4.5.8)和(4.5.10)的局部截?cái)嗾`差(4.5.9)和(4.5.11

31、)可對預(yù)測-校正方法(4.5.12)進(jìn)行修改,在(4.5.12)中的步驟P有對于步驟C有兩式相減可得于是有若用代替上式,并令顯然比更好,但注意到的表達(dá)式中是未知的,因此改為下面給出修正的預(yù)測-校正格式(PMECME). (4.5.13)經(jīng)過修正后的PMECME格式比原來PECE格式提高一階.4.5.4 Milne方法與 Hamming方法 與Adams顯式方法不同的另一類四階顯式方法的計(jì)算公式形如 (4.5.14)這里為待定常數(shù),此公式也是k=4步方法,即計(jì)算時(shí)要用到4個(gè)值.為了確定,當(dāng)然可以利用公式(4.5.4)直接算出,但下面我們直接利用Taylor展開式確定,使它的階盡量高.方法(4.5

32、.14)的局部截?cái)嗾`差為將它在點(diǎn)展成Taylor級數(shù),得要使公式的階盡量高,要令前3項(xiàng)系數(shù)為0.即解得,代入公式,的系數(shù)為0,故(4.5.15)于是得四階方法(4.5.16)稱為Milne公式,它的局部截?cái)嗾`差為(4.5.15).與(4.5.16)配對的隱式方法為k=3的多步法,它的一般形式可表示為要求公式的階p=4,可直接用(4.5.4),并令,可得 (4.5.17)若令,可解出,于是得到下列四階方法(4.5.18)稱為Simpson公式,它的局部截?cái)嗾`差為 (4.5.19)用Simpson公式與Milne公式(4.5.16)相匹配,用(4.5.16)做預(yù)測,(4.5.18)做校正,由于(4

33、.5.18)的穩(wěn)定性較差,因此通常較少使用.為了改善穩(wěn)定性,可重新選擇四階的隱式公式,Hamming通過試驗(yàn),發(fā)現(xiàn)在(4.5.14)中若令,得到的公式穩(wěn)定性較好,此時(shí)(4.5.14)的解為,于是得四階多步法(4.5.20)稱為Hamming公式,它的局部截?cái)嗾`差為 (4.5.21)用Milne公式(4.5.16)與Hamming公式(4.5.20)相匹配,并利用截?cái)嗾`差公式(4.5.15)與(4.5.21)改進(jìn)計(jì)算結(jié)果.類似Adams預(yù)測-校正格式(4.5.13),可得以下的預(yù)測-校正格式(PMECME): (4.5.22)例4.4 用四步四階顯式Milne公式及三步四階隱式Hamming公式

34、解初值問題,步長h=0.1初值仍由精確解給出,要求計(jì)算到為止,給出計(jì)算結(jié)果及誤差,并與例4.6結(jié)果比較.解 直接用公式(4.5.16)及(4.5.20)計(jì)算.用Milne法計(jì)算公式為其中誤差用Hamming方法(4.5.20)計(jì)算公式為可解得 ,n=2,3,4 誤差從所得結(jié)果可見Milne方法誤差比顯式Adams方法誤差略小,而Hamming方法與隱式Adams方法誤差相當(dāng).例4.8 將例4.4的初值問題用修正的Milne-Hamming預(yù)測-校正公式計(jì)算及,初值,仍用已算出的精確解,即,給出計(jì)算結(jié)果及誤差.解根據(jù)修正的Milne-Hamming預(yù)測-校正公式(4.5.22)得 從結(jié)果看,此方

35、法誤差比四階Adams隱式法和四階Hamming方法小,這與理論分析一致.講解:線性多步法(4.5.1)的局部截?cái)嗾`差定義為與單步法相似,可表示為(4.5.2),即只要直接將右端各項(xiàng)在處展成Taylor公式,根據(jù)公式階數(shù)為階,即按的冪整理,令各項(xiàng)系數(shù)為0,則可求得相應(yīng)的線性多步法及其局部截?cái)嗾`差,這里只用到一元函數(shù)的Taylor展開。因此不必記系數(shù)滿足的公式(4.5.4),只要直接展開即可,它不但可以求出Adams顯式與隱式公式以及Milne公式,Hamming公式等,還可以求出任何需要的多步法公式,下面再給出兩個(gè)例題,說明如何直接用Taylor展開的方法。例4.9解初值問題用顯式二步法,其中.試確定參數(shù)使方法除數(shù)盡可提高。并求局部截?cái)嗾`差。解 本題仍根據(jù)截?cái)嗾`差定義,用Taylor展開確定參數(shù)滿足的方程,由于為求參數(shù)使就地介數(shù)盡量高,可令及得方程組解得此時(shí)公式為三階,而且即為所求局部截?cái)嗾`差。而所得二步法為 例4.10 證明線性多步法存在的一個(gè)值,使方法是四階的。證明

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論