計(jì)算方法課件第八章常微分方程初值問題的數(shù)值解法.ppt_第1頁
計(jì)算方法課件第八章常微分方程初值問題的數(shù)值解法.ppt_第2頁
計(jì)算方法課件第八章常微分方程初值問題的數(shù)值解法.ppt_第3頁
計(jì)算方法課件第八章常微分方程初值問題的數(shù)值解法.ppt_第4頁
計(jì)算方法課件第八章常微分方程初值問題的數(shù)值解法.ppt_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

常微分方程初值問題的數(shù)值解法,8.1 歐拉法與梯形法,8.2 泰勒展開法與龍格-庫塔(RungeKutta)方法,8.3 線性多步法,第八章,8.0 概述,8.4 數(shù)值算例,本章著重討論一階常微分方程初值問題,的數(shù)值解法。,8.0 概述,假設(shè)解y(x)在區(qū)間a,b上是存在而且唯一的, 并且具有充分的光滑度,因此,要求f(x,y)也充 分光滑。初值問題的解析解(理論解)用 表示, 數(shù)值解法的精確解用 表示。,常微分方程數(shù)值解法一般分為:,(1)一步法:在計(jì)算 時(shí),只用到 , 和 ,即前一步的值。,(2)多步法:計(jì)算 時(shí),除用到 , 和 以外,還要用 和 ,即前 k步的值。,(3)顯式格式與隱式格式。,8.1 歐拉法與梯形法,設(shè)節(jié)點(diǎn)為 ,得歐拉方法計(jì)算公式為:,一、歐拉(Euler)法,下面通過幾種常用的方法來推導(dǎo)該公式。,1、泰勒展開法,假設(shè)在 附近把y(x)做Taylor展開,有:,取h的線性部分,并用 表示 的近似值,得,2、數(shù)值積分法,從 到 +h對(duì)等式 y(t )=f(t,y(t) 進(jìn)行積分得到,再利用左矩形公式,得,從而得到Euler公式。,由,3、數(shù)值微分法,4、幾何方法,過點(diǎn)(xn,yn)作以f(xn ,yn)為斜率的直線方程:,將x=xn+1處該直線上的函數(shù)值做為y(xn+1)的近似值,則有Euler公式。這實(shí)質(zhì)上是在每個(gè)小區(qū)間上利用折線來代替曲線的結(jié)果,故Euler法又稱Euler折線法。,二、梯形法,在式 中,將積分用梯形公式來代替,則有,從而得到梯形公式:,梯形方法關(guān)于yn+1是隱式的,而Euler方法是顯式的。一般情形下不容易從上式解出yn+1,因而可將上式與Euler公式聯(lián)合使用,即,使用上式時(shí),先用第一式算出xn+1處yn+1的初始近似,再用第二式反復(fù)迭代,得到數(shù)列,用,來控制迭代次數(shù),這里為允許誤差。把滿足誤差要求的,可以證明,當(dāng)f(x,y)滿足Lipschitz條件,即:,(L為Lipschitz常數(shù))時(shí),上述數(shù)列收斂。,作為y(xn+1)的近似值yn+1.類似地可以得出yn+2,yn+3,證明:由,和,有:,反復(fù)使用不等式有:,實(shí)用中,在h 取得較小時(shí),用梯形公式計(jì)算,第二式只迭代一次就結(jié)束,得到Euler預(yù)估-校正格式:,第一式稱為預(yù)估公式,第二式稱為校正公式。,三、Euler預(yù)估-校正格式,四、方法的誤差估計(jì)、收斂性和穩(wěn)定性,定義1: 為 某一數(shù)值方法在xn處的整體截?cái)嗾`差(不考慮舍入誤差的影響)。 定義2:對(duì)單步法,在 的假設(shè)下, 稱為在 處的局部截?cái)嗾`差。,Remark1: Euler法的局部截?cái)嗾`差為:,Remark2: 梯形方法的局部截?cái)嗾`差為:,用泰勒展開法推導(dǎo)Euler預(yù)估校正格式的局部截?cái)嗾`差,改寫Euler預(yù)估校正公式為:,在,的假定下,,而,而,因此有,故Euler預(yù)估校正方法為的局部截?cái)嗾`差階為O(h3)。,定義3:若一個(gè)方法的局部截?cái)嗾`差為 ,則稱該方法為p階方法,或稱該方法具有p階精度。,截?cái)嗾`差,Remark:Euler方法是一階方法,梯形法和Euler預(yù)估校正法是二階方法。,整體截?cái)嗾`差與局部截?cái)嗾`差的關(guān)系,且局部截?cái)嗾`差有界:,則Euler法的整體截?cái)嗾`差n滿足估計(jì)式:,其中L為李普希茲常數(shù),b-a為求解區(qū)間長度,,定理:如果f(x,y)滿足李普希茲(Lipschitz)條件,證明參見教材。,收斂性與穩(wěn)定性,收斂性定義:如果某一數(shù)值方法對(duì)于任意固定的xn=x0+nh,當(dāng)h0(同時(shí)n )時(shí)有yn y(xn),則稱該方法收斂。,定義 用一個(gè)數(shù)值方法,求解微分方程初值問題時(shí),對(duì)給定的步長h0,若在計(jì)算 時(shí)引入誤差 (也稱擾動(dòng)),但由此引起計(jì)算后面的 時(shí)的誤差按絕對(duì)值均不增加,則稱這個(gè)數(shù)值方法是穩(wěn)定的。,Remark:該定理表明,整體截?cái)嗾`差比局部截?cái)嗾`差低一階。對(duì)其它方法,也有類似的結(jié)論。,穩(wěn)定性定義,穩(wěn)定性,Remark:由于穩(wěn)定性問題比較復(fù)雜,通常的做法是將滿足李普希茲條件的微分方程模型化。設(shè)f y=常數(shù),此時(shí)微分方程為線性方程 y= y。為保證微分方程的穩(wěn)定性,假定0。討論某方法的穩(wěn)定性,就是討論該方法對(duì)模型方程的穩(wěn)定性。,穩(wěn)定性結(jié)論,Euler法的穩(wěn)定性條件是:,梯形法是絕對(duì)穩(wěn)定的。,Euler預(yù)估校正格式的穩(wěn)定性條件是:,對(duì)非線性方程,應(yīng)視,,此時(shí)將是變化的。,的變化將引起h的變化,,屬于絕對(duì)穩(wěn)定區(qū)域,則認(rèn)為對(duì),如果步長h固定,,此時(shí),若,此方程而言,方法是穩(wěn)定的。,8.2 泰勒展開法與龍格-庫塔(RungeKutta)方法,問題:利用泰勒展開法推導(dǎo)高階單步的求解常微分方程初值問題的數(shù)值方法。 從提高截?cái)嗾`差階的階數(shù)入手。,假定初值問題的解y(x)及函數(shù)f(x,y)是充分光滑的,則:,當(dāng)n 充分小時(shí),略去余項(xiàng) ,則有p階計(jì)算公式,一、Taylor 方法,其中,,上式稱為p階Taylor方法。特別地,當(dāng)p1時(shí),就是Euler公式。當(dāng)p2時(shí),得二階Taylor方法:,當(dāng)Taylor方法的階數(shù)p取的較大時(shí),需計(jì)算f(x,y)的高階導(dǎo)數(shù)值,計(jì)算量較大。特別當(dāng)f(x,y)較復(fù)雜時(shí),y(x)的高階導(dǎo)數(shù)會(huì)很復(fù)雜。因此Taylor方法很少單獨(dú)使用,但可以用它來啟發(fā)思路。,二、RungeKutta 方法,基本思想:用不同點(diǎn)的函數(shù)值作線性組合,構(gòu)造近似公式,把近似公式和解的Taylor展開比較,使前面的若干項(xiàng)吻合,從而使近似公式達(dá)到一定的階數(shù)。一般的顯式R-K方法,可以寫成,其中, 為常數(shù),選取這些常數(shù)的原則是,要求第一式的右端在 處泰勒展開后,按h 的冪次重新整理,得到,與微分方程的解的Taylor展開式,有盡可能多的項(xiàng)重合,即要求,上述公式叫做N級(jí)的Runge-Kutta方法,其局部截?cái)嗾`差為,其中,表示,顯然,Euler法是一級(jí)一階R-K方法。,下面以二級(jí)R-K公式為例,來說明R-K方法的推導(dǎo)過程。,復(fù)習(xí)泰勒公式,對(duì),要求適當(dāng)選取系數(shù) , , 和 ,使當(dāng) 時(shí),上式的局部截?cái)嗾`差為,將 在 處展開,有,將 代入 有,,而y(xn+1)在xn處的Taylor展式為:,故,由于二級(jí)方法 ,方程也可寫為,要使Rn盡量小,應(yīng)首先讓h,h2項(xiàng)的系數(shù)為零,即,上述方程所確定的解都能使二級(jí) R-K方法成為一個(gè)二階方法。,此時(shí)Rn為,為使Rn最小,應(yīng)令,從而有,局部截?cái)嗾`差為:,故有二階R-K方法為:,該方法又稱為二階Heun(休恩)方法。,Euler預(yù)估-校正格式,若取,Remark1:我們可以構(gòu)造無窮多個(gè)二級(jí)R-K方法,這些方法的截?cái)嗾`差均為O(h3),即都是二階方法。其中二階Heun方法是截?cái)嗾`差項(xiàng)數(shù)最少,且允許f 任意變化的情況下截?cái)嗾`差最小的二階方法。 Remark2:二級(jí)R-K方法不可能達(dá)到三階 Remark3:同樣可構(gòu)造其他階的R-K方法,它們都有無窮多組解,且三級(jí)R-K方法階數(shù)不超過3,四級(jí)R-K方法階數(shù)不超過4。 Remark4:更高階的方法由于計(jì)算量較大,一般不再采用。,標(biāo)準(zhǔn)(經(jīng)典)四級(jí)四階R-K公式,關(guān)于R-K方法計(jì)算量的討論,二階R-K方法需計(jì)算兩個(gè)函數(shù)值,四階R-K方法需計(jì)算四個(gè)函數(shù)值,但精度要比二階方法高出兩階。因此,要達(dá)到同樣的精度,用低階方法需步長取得比較小,但若用高階方法則可以將步長取得大一些,從而降低計(jì)算量。,四階經(jīng)典RK方法的穩(wěn)定性條件是,關(guān)于R-K方法穩(wěn)定性的討論,二階RK方法的穩(wěn)定性條件是,線性多步法的基本思想:如果充分利用前面多步的信息來預(yù)測(cè)yn+k,則可以期望獲得較高的精度。,8.3 線性多步法,前面的RK方法是增加一些非節(jié)點(diǎn)處的函數(shù)值的計(jì)算來提高單步法的精度的,這樣使計(jì)算量增加了許多。本節(jié)介紹多步法,是在不過分增加計(jì)算量的情況下取得較高的計(jì)算精度。,線性多步法公式的構(gòu)造一般用兩種方法,即Taylor展開法與數(shù)值積分法。,線性多步法的一般形式,式中,都為實(shí)數(shù),且,。當(dāng)10時(shí)上式為隱式方法,當(dāng)10,時(shí),上式為顯示方法。由于求yn+1用到前面yn,yn-1,yn-r等r1個(gè)值,且關(guān)于yn-j和fn-j(j=0,1,2,r)都是線性的,因此稱上式為線性r1步方法。,一、用數(shù)值積分方法構(gòu)造線性多步法,將 方程兩端從 積分得,(1),其插值余項(xiàng)為:,1. 阿達(dá)姆斯(Adams)外插公式,在(1)式中取k=0,并選擇xn,xn-1, xn-2,xn-3作為插值節(jié)點(diǎn),作函數(shù)F(x)的三次插值多項(xiàng)式:,把F(x)=L3(x)+ R3(x)代入(1)式,有,略去上式右端第三項(xiàng),得,對(duì)于上式積分部分用變量代換x=xn+th,并注意到,則,從而得到線性四步Adams顯式公式:,其局部截?cái)嗾`差就是數(shù)值積分的誤差,因(x-xn)(x-xn-1)(x-xn-2)(x-xn-3)在xn,xn+1上不變號(hào),并設(shè)F(4)(x)在xn,xn+1上連續(xù),利用積分中值定理,存在n xn,xn+1,使得,因?yàn)椴逯刀囗?xiàng)式L3(x)是在xn3,xn上作出的,而積分區(qū)間為xn,xn+1,故上式稱為Adams外插公式。,2. 阿達(dá)姆斯(Adams)內(nèi)插公式,若在(1)式中取k=2,并選擇xn1,xn, xn-1,xn-2作為插值節(jié)點(diǎn),作函數(shù)F(x)的三次插值多項(xiàng)式。類似于上面的外插公式,有,該公式也稱為Adams內(nèi)插公式,為三步隱式方法。,3. 阿達(dá)姆斯(Adams)預(yù)估-校正公式,由于Adams內(nèi)插公式是隱式方法,故用它做計(jì)算需使用迭代法。通常把Adams外插公式與內(nèi)插公式結(jié)合起來使用,先由前者提供初值,再由后者進(jìn)行修正,即,若上式中的第二式只迭代一次,便得到Adams預(yù)估-校正格式。,Taylor展開法更具一般性,不僅可以構(gòu)造用數(shù)值積分法得出的數(shù)值方法,而且還可導(dǎo)出積分法得不到的方法。它比積分法更加靈活。下面僅舉一例說明如何用這種方法構(gòu)造線性多步法。,二、用Taylor展開法構(gòu)造線性多步公式,首先以xn-1,xn,xn+1為節(jié)點(diǎn),構(gòu)造形如,的公式。假設(shè)上式右邊,代入給定公式并按h的冪次整理得到下式:,將上式與,比較,選擇系數(shù)i(i=0,1)和i(i=-1,0,1)使兩式中關(guān)于h的同次冪的系數(shù)有盡可能多的項(xiàng)相等。故有:,求解上述方程組,得出0, 1,1, 0 ,1。所得到的算式的局部截?cái)嗾`差為O(h5)。,Reamrk:我們也可以只要求前面幾個(gè)方程組成立,如要求前面4個(gè)方程組成立時(shí),所得算式的局部截?cái)嗾`差為O(h4)。如令00,帶入上式的前4個(gè)方程,解得1=1,1= 1=1/3 ,0=4/3,于是得到計(jì)算公式為:,此時(shí)上式中第5式也恰巧成立。可以得到上式得截?cái)嗾`差為:,稱上式為辛浦生(Simpson)公式,它可由數(shù)值積分方法而得到。,我們也可以用類似的方法構(gòu)造其它的線性多步法,如前面的Adams公式等。,三、出發(fā)值的計(jì)算,使用線性k步法求解初值問題時(shí),需要知道k個(gè)出發(fā)值y0,y1,yk-1才能進(jìn)行計(jì)算。然而初值問題只提供一個(gè)yn,還有k1個(gè)出發(fā)值,需要通過別的方法計(jì)算出來。常用的方法是一步方法。由于初值對(duì)于確定微分方程的解有重要作用,因而在求解數(shù)值解時(shí),對(duì)出發(fā)值的精度也必須有相應(yīng)的要求。為了保證多步方法的精確度,用于計(jì)算出發(fā)值的一步方法的階數(shù)至少不低于多步方法的階。,理論上講,可用Taylor展開法和Runge-Kutta方法,計(jì)算出發(fā)值。但由于Taylor展開法要計(jì)算高階導(dǎo)數(shù)值,故最常用的方法還是選擇與多步法同階的Runge-Kutta方法。一旦出發(fā)值計(jì)算出來,線性多步法的計(jì)算量(特別是顯式公式)就會(huì)很小,因?yàn)槊看沃豁氂?jì)算一次f值。,Remark:有關(guān)線性多步法的整體截?cái)嗾`差、收斂性及數(shù)值穩(wěn)定性的討論可參考有關(guān)文獻(xiàn)。,8.4數(shù)值算例,求解常微分方程初值問題,在0,1上的解,取步長h0.1。,計(jì)算結(jié)果如下圖所示:,返回,第8章例題,例1:用歐拉預(yù)校方法求解初值問題(要求取步長h=0.2,計(jì)算y(1.2)和y(1.4)的近似值,小數(shù)點(diǎn)后保留5位小數(shù)):,解:歐拉預(yù)校格式為:,由y(1)=y0=1計(jì)算得

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論