第6章常微分方程數(shù)值解法_第1頁
第6章常微分方程數(shù)值解法_第2頁
第6章常微分方程數(shù)值解法_第3頁
第6章常微分方程數(shù)值解法_第4頁
第6章常微分方程數(shù)值解法_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法第第6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 1 引言引言 2 歐拉法和改進(jìn)的歐拉法歐拉法和改進(jìn)的歐拉法3 龍格龍格-庫塔法庫塔法4 阿當(dāng)姆斯方法阿當(dāng)姆斯方法第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法1 引言引言 在高等數(shù)學(xué)里我們已經(jīng)接觸過常微分方程,對(duì)于一在高等數(shù)學(xué)里我們已經(jīng)接觸過常微分方程,對(duì)于一些典型的常微分方程,有求解析解的基本方法,但多數(shù)些典型的常微分方程,有求解析解的基本方法,但多數(shù)情況下,遇到的問題比較復(fù)雜,此時(shí),只能利用近似方情況下,遇到的問題比較復(fù)雜,此時(shí),只能利用近似方法求解,一般有兩種近

2、似方法法求解,一般有兩種近似方法 。近似解析方法近似解析方法數(shù)值方法數(shù)值方法第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法實(shí)際求解的常微分方程,大多是實(shí)際求解的常微分方程,大多是定解問題定解問題滿足指定滿足指定條件的特解條件的特解 初值問題初值問題 邊值問題邊值問題 本章討論常微分方程,數(shù)值解的最簡(jiǎn)單問題本章討論常微分方程,數(shù)值解的最簡(jiǎn)單問題 一階方程一階方程初值問題初值問題 ,即函數(shù),即函數(shù)f(x)滿足下列微分方程和初值條件:滿足下列微分方程和初值條件:在幾何問題是在幾何問題是(6-1)表現(xiàn)為一簇曲線,稱表現(xiàn)為一簇曲線,稱(6-1)的積分曲線,的積分曲線,初值問題初值問題(6

3、-1) (6-2)就是要求一條過就是要求一條過(x0 ,y0)的積分曲線的積分曲線00(,)()dyfxydxyxy(61) (62)第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法方程的精確解方程的精確解y(x)稱稱為積分曲線。為積分曲線。方程是否有解,解是否唯一?方程是否有解,解是否唯一? 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法定理定理1 對(duì)初值問題對(duì)初值問題(6-1)(6-2),若,若f(x,y)在區(qū)域在區(qū)域g= axb , |y|內(nèi)連續(xù),且關(guān)于內(nèi)連續(xù),且關(guān)于y滿足李普希茲條件,即存在常數(shù)滿足李普希茲條件,即存在常數(shù)l,使,使|f(x , y1)-f

4、(x , y2)| l|y1-y2|(6-3)對(duì)對(duì)g中任意兩個(gè)中任意兩個(gè)y1,y2均成立,其中均成立,其中l(wèi)是與是與x,y無關(guān)的常數(shù),無關(guān)的常數(shù),則初值問題則初值問題(6-1)(6-2)在在(a,b)內(nèi)存在唯一解,且解是連續(xù)內(nèi)存在唯一解,且解是連續(xù)可微的??晌⒌摹5诘? 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法設(shè)設(shè)f(x,y)在帶形區(qū)域在帶形區(qū)域r:axb,-y+上為上為x,y的連續(xù)函數(shù),且對(duì)任意的的連續(xù)函數(shù),且對(duì)任意的y滿足李普希茨滿足李普希茨(libusize)條件條件 f(x ,y1)-f(x ,y2)ly1-y2 其中其中( x ,y1)、( x ,y2)r,l為正常數(shù)。

5、為正常數(shù)。 在求初值問題在求初值問題(6-1)(6-2)的數(shù)值解時(shí),我們通常采用的數(shù)值解時(shí),我們通常采用離離散化方法散化方法,求在自變量,求在自變量x的離散點(diǎn)的離散點(diǎn)a=x0 x1x2xn=b 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法 上的上的準(zhǔn)確解準(zhǔn)確解y(x)的近似值的近似值 y0,y1,y2,yn常取離散點(diǎn)常取離散點(diǎn)x0,x1,x2,xn為等距,即為等距,即 x i+1-xi =h,i=0,1,2,n-1 h稱為步長(zhǎng)。圖稱為步長(zhǎng)。圖6.1表示為初值問題表示為初值問題(61) (62)在在n+1個(gè)離散點(diǎn)上的準(zhǔn)確解個(gè)離散點(diǎn)上的準(zhǔn)確解y(x)的近似值。的近似值。第第6 6

6、章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法圖 6.1第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法數(shù)值解法的重點(diǎn)不在于求準(zhǔn)確解(即解析解),而是直接數(shù)值解法的重點(diǎn)不在于求準(zhǔn)確解(即解析解),而是直接求求一系列點(diǎn)上的近似解一系列點(diǎn)上的近似解。 求解過程順著節(jié)點(diǎn)排列的順序一步步向前推進(jìn)求解過程順著節(jié)點(diǎn)排列的順序一步步向前推進(jìn),也即按遞推公式由也即按遞推公式由y0,y1.yi推推yi+1,下面各種方法的,下面各種方法的實(shí)質(zhì)是建立實(shí)質(zhì)是建立遞推公式遞推公式。 初值問題(初值問題(6.1)(6.2)的數(shù)值解法的基本特點(diǎn)是:的數(shù)值解法的基本特點(diǎn)是:第第6 6章章 常微分方程數(shù)值解

7、法常微分方程數(shù)值解法 計(jì)算方法2 歐拉法和改進(jìn)的歐拉法歐拉法和改進(jìn)的歐拉法 一、一、歐拉方法歐拉方法1. 基本思想基本思想 區(qū)間區(qū)間a,b上給定上給定n+1個(gè)點(diǎn)個(gè)點(diǎn)x0,x1,x2,xn),()( )()(x),(1iiiiiiyxfxyhxyxyyxfdxdy用差商的導(dǎo)數(shù)考慮在節(jié)點(diǎn)),()()(1iiiiyxhfxyxy第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法 再用再用yi近似地代替近似地代替y(xi),則初值問題,則初值問題(6-1)(6-2) 就化為就化為從從x0出發(fā)根據(jù)初值問題,出發(fā)根據(jù)初值問題,y(x0)=y0 再利用上式得再利用上式得y(x1)y1=y(0)+

8、hf(x0,y0),再以再以y1作為作為y(x1)的近似值,代入上式求的近似值,代入上式求y2.yn y(x2) y2=y1+hf(x1,y1) .y(xi+1) yi+1=yi+hf(xi,yi) i=0,1,(6.4)稱為解初值問題的稱為解初值問題的歐拉方法歐拉方法 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法2幾何意義幾何意義 歐拉公式有很明顯的幾何意義。我們知道初值問題歐拉公式有很明顯的幾何意義。我們知道初值問題(6.1) 中的微分方程的解是中的微分方程的解是xoy平面上的一簇積分曲線平面上的一簇積分曲線這簇積分曲線上任意點(diǎn)這簇積分曲線上任意點(diǎn)(x,y)的斜率為的斜率

9、為f(x,y),而初值問題而初值問題(6.1) (6.2)的解是過點(diǎn)的解是過點(diǎn)(x0,y0)的一條特定的積的一條特定的積分曲線。分曲線。 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法ox0 x1x2xn(x0,y0)(x1,y1)(x2,y2)(xn,yn)第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法y y(x)過點(diǎn)過點(diǎn)p0(x0,y0),從,從p0出發(fā)以出發(fā)以f(x0,y0)為斜率做一直線與直線為斜率做一直線與直線x=x1交于點(diǎn)交于點(diǎn)p1(x1,y1),顯然有顯然有:y1=y0+hf(x0,y0),再從再從p1出發(fā)出發(fā),以以f(x1,y1)為斜率做一直線推

10、進(jìn)到為斜率做一直線推進(jìn)到x=x2上一點(diǎn)上一點(diǎn)p2(x2,y2),依此類推依此類推,這樣得到解曲線的一條近似曲線這樣得到解曲線的一條近似曲線,它就是折它就是折線線p0p1p2所以歐拉方法又叫所以歐拉方法又叫歐拉折線法歐拉折線法 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法歐拉法是用歐拉法是用yi通過通過 yi+1=y i + hf(x i ,y i) i=0,1,求求yi+1,這樣利用這樣利用y0y1y2計(jì)算計(jì)算yi+1用前一步的用前一步的y i單步法單步法計(jì)算計(jì)算yi+1用前幾步的用前幾步的yi-n多步法多步法 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法例

11、例1:用歐拉法求解方程:用歐拉法求解方程 1)0(2yxyy0 x1.2 h=0.2解解:歐拉法的具體形式為歐拉法的具體形式為: yi+1=yi+hf(xi, yi)=(1-0.4xi)yi 所以所以: y1 = y0 + h f(x0,y0)y2 = y1 + h f(x1,y1) =(1-0.4x1)y1 =0.920000 =(1-0.4x0)y0=1第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法xiyi y(xi(xi) )0110.210.9607890.40.9200000.8521440.60.7728000.6976760.80.5873220.5277921.

12、00.3993830.3678791.20.2396300.236938可見歐拉法的精度是很差的可見歐拉法的精度是很差的 所求值用下表列出所求值用下表列出, ,并與精確值對(duì)比并與精確值對(duì)比 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法二、歐拉方法的誤差分析二、歐拉方法的誤差分析定義定義1(p146) 對(duì)于初值問題,當(dāng)假設(shè)對(duì)于初值問題,當(dāng)假設(shè)yi是準(zhǔn)確的時(shí),用某是準(zhǔn)確的時(shí),用某種方法求種方法求yi+1時(shí)所產(chǎn)生的截?cái)嗾`差稱為該方法的時(shí)所產(chǎn)生的截?cái)嗾`差稱為該方法的局局部截?cái)嗾`差部截?cái)嗾`差 。第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法我們來看在第我們來看在第i+1

13、步使用歐拉方法所得步使用歐拉方法所得yi+1的局部截?cái)嗾`差的局部截?cái)嗾`差y(xi+1)-yi+1 假定假定yi是準(zhǔn)確的是準(zhǔn)確的,即即yi=y(xi) 由由y(xi+1)=y(xi+h),應(yīng)用泰勒展開,應(yīng)用泰勒展開y(xi+1)=y(xi+h) =y(xi)+hy(xi)+y()/2*h2而由歐拉公式算出而由歐拉公式算出yi+1=yi+hf(xi,yi)=y(xi)+hf(xi,y(xi)=y(xi)+hy(xi) 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法y(xi+1)=y(xi+h)= y(xi) + hy(xi) + y()/2*h2yi+1=yi+hf(xi,yi)=

14、y(xi) + hf(xi,y(xi) = y(xi) + hy(xi) 兩式相減得兩式相減得 y(xi+1)-yi+1=(h2/2)* y()=o(h)=o(h2 2) )即歐拉方法所得即歐拉方法所得y yi+1i+1的局部截?cái)嗾`差為的局部截?cái)嗾`差為o(ho(h2 2) ) 注意注意:只計(jì)算了一步,事實(shí)上每一步都有可能產(chǎn)生誤差,只計(jì)算了一步,事實(shí)上每一步都有可能產(chǎn)生誤差,有時(shí)誤差會(huì)原來越大,有時(shí)又會(huì)得到很好的控制,因此還有時(shí)誤差會(huì)原來越大,有時(shí)又會(huì)得到很好的控制,因此還要考慮整體截?cái)嗾`差。要考慮整體截?cái)嗾`差。)( 22yh稱為局部截?cái)嗾`差的主項(xiàng)稱為局部截?cái)嗾`差的主項(xiàng)第第6 6章章 常微分方程

15、數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法定義定義2 (p147) 設(shè)設(shè)y yi i是用某種方法計(jì)算初值問題是用某種方法計(jì)算初值問題(6-1)(6-2)(6-1)(6-2)在在x xi i點(diǎn)的近點(diǎn)的近似解,而似解,而y(xy(xi i) )是它的精確解,則稱是它的精確解,則稱為該方法的整體截?cái)嗾`差,也稱為該方法的精度。為該方法的整體截?cái)嗾`差,也稱為該方法的精度。補(bǔ):若某方法的局部截?cái)嗾`差為補(bǔ):若某方法的局部截?cái)嗾`差為o(hp+1),則該方法的精度,則該方法的精度為為p階的。階的。iiiyxy)(歐拉方法的精度為歐拉方法的精度為o(h),一階的,一階的第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解

16、法 計(jì)算方法三、改進(jìn)的歐拉法三、改進(jìn)的歐拉法 歐拉法雖然形式簡(jiǎn)單,計(jì)算方便,但比較粗糙,歐拉法雖然形式簡(jiǎn)單,計(jì)算方便,但比較粗糙,精度也低。特別當(dāng)精度也低。特別當(dāng)y=y(x)的曲線曲率較大時(shí),歐拉法的效的曲線曲率較大時(shí),歐拉法的效果更差。果更差。為了構(gòu)造較高精度的數(shù)值解法,對(duì)初值問題為了構(gòu)造較高精度的數(shù)值解法,對(duì)初值問題再做分析再做分析00)(),(yxyyxfy第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法對(duì)對(duì)y=f(x,y)等式兩邊在()等式兩邊在(xi,xi+1)上取積分)上取積分 11)(,(iiiixxxxdxxyxfdxy1)(,()()(1iixxiidxxyxf

17、xyxyxixi+1(xi,yi)(xi+1,yi+1)第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法在上圖也可利用在上圖也可利用 ),(1iiiiyxhfyy矩形公式精度不高,再次說明歐拉精度低矩形公式精度不高,再次說明歐拉精度低后退歐拉公式右矩形公式),(111iiiiyxhfyy這樣就利用數(shù)值積分公式計(jì)算這樣就利用數(shù)值積分公式計(jì)算y(xi+1)的近似值。如的近似值。如果用左矩陣計(jì)算右面的積分:果用左矩陣計(jì)算右面的積分:)8 . 6()(,()()(11iixxiidxxyxfxyxy顯式歐拉公式),(1iiiiyxhfyy第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解

18、法 計(jì)算方法為了得到更精確的方法我們可使用梯形公式為了得到更精確的方法我們可使用梯形公式 ),(),(2),(111iiiixxyxfyxfhdxyxfii,.2 , 1 , 0),(),(2111iyxfyxfhyyiiiiii此時(shí)(6-9)改進(jìn)的歐拉公式,又稱為改進(jìn)的歐拉公式,又稱為梯形公式梯形公式xixi+1(xi,yi)(xi+1,yi+1)這樣得到的點(diǎn)列仍這樣得到的點(diǎn)列仍為一折線,只是用為一折線,只是用平均斜率來代替原平均斜率來代替原來一點(diǎn)處的斜率。來一點(diǎn)處的斜率。第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算

19、方法不難發(fā)現(xiàn)不難發(fā)現(xiàn):歐拉公式歐拉公式 yi+1=yi +hf(x i,yi) 是關(guān)于是關(guān)于yi+1的顯式的顯式,只要已知,只要已知yi,經(jīng)一次計(jì)算可立即得到,經(jīng)一次計(jì)算可立即得到y(tǒng)i+1的值;的值;而而改進(jìn)歐拉公式改進(jìn)歐拉公式,.2 , 1 , 0),(),(2111iyxfyxfhyyiiiiii中的中的yi+1以隱式給出以隱式給出,且,且yi+1含在函數(shù)含在函數(shù)f(xi+1,yi+1)中,中,所以所以梯形法是梯形法是隱式單步法隱式單步法,第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法 一般來說,這是一個(gè)非線性方程(除非一般來說,這是一個(gè)非線性方程(除非f對(duì)對(duì)y是是線性的)

20、,可用我們前面講過的非線性方程的各線性的),可用我們前面講過的非線性方程的各種方法求解,比如用迭代法種方法求解,比如用迭代法 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法),(),(2),()(11)1(1)0(1kiiiiikiiiiiyxfyxfhyyyxhfyy可證明其收斂,局部截?cái)嗾`差可證明其收斂,局部截?cái)嗾`差o(h3)k=0,1,2,具體做法是:先用歐拉公式具體做法是:先用歐拉公式(64)求出一個(gè)求出一個(gè)y(0)i+1作作為初始近似值,然后再用改進(jìn)的歐拉公式為初始近似值,然后再用改進(jìn)的歐拉公式(69)進(jìn)進(jìn)行迭代,即行迭代,即直到滿足(1)( )11(1)11kkii

21、kiiyyyy取再轉(zhuǎn)到下一步計(jì)算第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法例例2: 證明解常微分方程初值問題的梯形方法精度是二階的證明解常微分方程初值問題的梯形方法精度是二階的證明證明:),(),(211iiiiihyxfyxfhyt令t=y(xi+1)-th=y(x i+h)-t h)( 2)( 2)(.! 3)( ! 2)( )( )(t32hiiiiiiixyhxyhxyhxyhxyxhyxy則.! 3 ! 2)( )( )( )( )4(32yhyhxhyxyxytailorxxxyiihiihi展開處在將第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方

22、法所以所以:)()( 12)()( 4)( !343433hoxyhhoxyhxyht局部截?cái)嗾`差為局部截?cái)嗾`差為o(h3 )所以精度為所以精度為2階的階的第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法四、預(yù)報(bào)四、預(yù)報(bào)-校正方法校正方法 我們看到梯形法雖然提高了精度,但其算法復(fù)雜,我們看到梯形法雖然提高了精度,但其算法復(fù)雜,每算一點(diǎn),都需進(jìn)行反復(fù)迭代,為了控制計(jì)算量,通常每算一點(diǎn),都需進(jìn)行反復(fù)迭代,為了控制計(jì)算量,通常只迭代一兩次就轉(zhuǎn)入下一步計(jì)算,以簡(jiǎn)化算法。只迭代一兩次就轉(zhuǎn)入下一步計(jì)算,以簡(jiǎn)化算法。 具體地說,我們先用歐拉公式求一個(gè)初步的近似值具體地說,我們先用歐拉公式求一個(gè)

23、初步的近似值 ),(1iiiiyxhfyy 稱為預(yù)測(cè)值,其精度可能很差,再用梯形公式將其稱為預(yù)測(cè)值,其精度可能很差,再用梯形公式將其校正一次校正一次 1iy),(),(2111iiiiiiyxfyxfhyy第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法預(yù)報(bào)預(yù)報(bào)-校正公式校正公式),(),(2),(1111iiiiiiiiiiyxfyxfhyyyxhfyy(6-11)在實(shí)際計(jì)算時(shí),還常常將式在實(shí)際計(jì)算時(shí),還常常將式(611)寫成下列形式:寫成下列形式: (6-12),.2,1 ,0)(2),(),(*2*111*2*1ikkhyyhkyhxfkyxfkiiiiii第第6 6章章

24、常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法例例3 用預(yù)報(bào)用預(yù)報(bào)-校正公式求解初值問題校正公式求解初值問題 2(0)1,01,0.1xyyyyxh解:由解:由預(yù)報(bào)-校正公式有公式有)2()2(2211111iiiiiiiiiiiiiyxyyxyhyyyxyhyyh=0.1, x0=0 , x1=0.1 , x2=0.2,., x9=0.9 , x10=1 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法 1 . 1)101 ( 1 . 01)2(00001yxyhyyi=0095909. 1)2()2(211100001yxyyxyhyyi=1191818. 1)2(11112

25、yxyhyy184097. 1)2()2(222211112yxyyxyhyyi=2最后最后,得下表得下表 其解析解為其解析解為 21yx第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法 表 62 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法預(yù)報(bào)預(yù)報(bào)-校正公式的截?cái)嗾`差為校正公式的截?cái)嗾`差為o(h3) (證明,(證明,p150)預(yù)報(bào)預(yù)報(bào)-校正公式的整體截?cái)嗾`差為校正公式的整體截?cái)嗾`差為o(h2)預(yù)報(bào)預(yù)報(bào)-校正公式是校正公式是單步顯式單步顯式第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法練習(xí)練習(xí)1:用用euler法解法解1)0()6.00(2yxx

26、yydxdy取取 h=0.2 計(jì)算到計(jì)算到x=0.6第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法練習(xí)練習(xí)2:用改進(jìn)用改進(jìn)euler法(梯形公式)解法(梯形公式)解2)1()21(38yxydxdy取取 h=0.2 小數(shù)點(diǎn)后至少保留小數(shù)點(diǎn)后至少保留5位位第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法練習(xí)練習(xí)3 :用預(yù)報(bào)用預(yù)報(bào)校正方法求校正方法求 1) 1 (0sin2yxyyy取步長(zhǎng)取步長(zhǎng) h=0.2 計(jì)算計(jì)算y(1.2)及及y(1.4)的近似值,小數(shù)點(diǎn)后保留的近似值,小數(shù)點(diǎn)后保留5位位第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法3 龍格庫塔法

27、龍格庫塔法 一、基本思想一、基本思想 對(duì)初值問題對(duì)初值問題00)(),(yxyyxfdxdy(axb)目的是求目的是求y(x)在一些給定點(diǎn)上的值在一些給定點(diǎn)上的值y(x1),y(x2),y(xn)研究差商研究差商微分中值定理微分中值定理第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法)(,()()( )()(1hxyhxhfxyhxhyxyxyiiiiii得到一種微分方程的數(shù)值計(jì)算公式,得到一種微分方程的數(shù)值計(jì)算公式,關(guān)鍵在求關(guān)鍵在求)(,(hxyhxfii稱為在區(qū)間稱為在區(qū)間xi,xi+1上的上的平均斜率平均斜率,記為記為)(,(*hxyhxfkii*1)()(hkxyxyii

28、則k*第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法若用這種方法研究歐拉公式,可以發(fā)現(xiàn)歐拉公式僅取一個(gè)若用這種方法研究歐拉公式,可以發(fā)現(xiàn)歐拉公式僅取一個(gè)點(diǎn)點(diǎn)(xi,yi)的斜率的斜率f(xi,yi)代替代替k*,梯形公式卻是利用,梯形公式卻是利用xi與與xi+1兩兩個(gè)點(diǎn)的斜率值個(gè)點(diǎn)的斜率值),(),(11*2*1iiiiyxfkyxfk然后取值然后取值)(21*2*1*kkk由此也可知,梯形公式精度要高些。由此也可知,梯形公式精度要高些。第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法它也啟發(fā)我們它也啟發(fā)我們?nèi)粼O(shè)法在若設(shè)法在xi,xi+1上多找?guī)讉€(gè)點(diǎn)的斜率值,上多

29、找?guī)讉€(gè)點(diǎn)的斜率值,然后將它們?nèi)缓髮⑺鼈兗訖?quán)平均加權(quán)平均作為作為k*的近似值,則有可能構(gòu)造出的近似值,則有可能構(gòu)造出精度更高的計(jì)算公式精度更高的計(jì)算公式,這就是,這就是runge-kutta方法的基本思方法的基本思想。想。即即為權(quán)系數(shù)其中jjijirjjhyhxfk),(1*第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法于是得到一般公式于是得到一般公式),(11hyhxfhyyjijirjjii其中其中j,j,j為為待定系數(shù)待定系數(shù)(6-14)第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法二、二、runge-kutta公式公式 我們以兩點(diǎn)我們以兩點(diǎn)xi,xi+p=

30、xi+h為例,說明為例,說明(6-14)式中系數(shù)式中系數(shù)的求法的求法),(),(12122111kyhxhfkyxhfkkkyyiiiiii其中其中1,2,為待定參數(shù)為待定參數(shù)(6-15)( ixhy第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法由二元函數(shù)由二元函數(shù)taylor展開式有展開式有)()( ),(),()( )(),(),(),(32212hoxyyxfyxfhxhyhoyxfkyxhfyxfhkiiiyiixiiiyiixii代入式代入式(6-15),得到,得到y(tǒng)i+1的展開式的展開式)()( ),(),()( )(3222211hoxyyxfyxfhxyhyyi

31、iiyiixiii(6-16)第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法利用利用),(),()( ),(yyxfyxfxyyxfyyx得到得到)()( ),(),(2)( )()()( 2)( )()(32321hoxyyxfyxfhxhyxyhoxyhxhyxyxyiiiyiixiiiiii第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法把它與式把它與式(6-16)比較,使它們比較,使它們前三項(xiàng)前三項(xiàng)相等,相等,得得212112221則則y(xi+1)-yi+1=o(h3)(6-17)滿足滿足(6-17)式的解有無窮多,對(duì)應(yīng)于式的解有無窮多,對(duì)應(yīng)于(6-15

32、)的公式均具的公式均具有二階精度,統(tǒng)稱為有二階精度,統(tǒng)稱為二階龍格二階龍格-庫塔公式庫塔公式。第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法特別地,取特別地,取則則(6-15)式正好是式正好是預(yù)報(bào)預(yù)報(bào)-校正公式校正公式。如取如取)21,21(),(12121kyhxhfkyxhfkkyyiiiiii(6-18)1,21, 1211, 1, 021則有則有第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法三階龍格三階龍格-庫塔公式為庫塔公式為)2,()2/, 2/(),()4(612131213211kkyhxhfkkyhxhfkyxhfkkkkyyiiiiiiii局

33、部截?cái)嗾`差為局部截?cái)嗾`差為o(h4)(6-19)第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法四階龍格四階龍格-庫塔公式為庫塔公式為),()2/, 2/()2/, 2/(),()22(61342312143211kyhxhfkkyhxhfkkyhxhfkyxhfkkkkkyyiiiiiiiiii(6-20)此公式又稱為此公式又稱為經(jīng)典的龍格經(jīng)典的龍格-庫塔公式庫塔公式,局部截?cái)嗾`差為,局部截?cái)嗾`差為o(h5)第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法例例 4 用經(jīng)典的龍格用經(jīng)典的龍格-庫塔法計(jì)算庫塔法計(jì)算 取步長(zhǎng)取步長(zhǎng)h=0.2解:由x0=0,y0=1,h=

34、0.2,利用公式(6-20)可計(jì)算出1)0(9 . 0 , 0,/2yxyxyy16965. 0),(18173. 0)2/, 2/(18364. 0) 1 . 1 , 1 . 0(2 . 0)2/, 2/(2 . 0)121 (2 . 0),(3004200310020001kyhxhfkkyhxhfkfkyhxhfkxyxhfk從而從而18323. 1)22(61432101kkkkyy第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法表表6-3ixiyi00110.21.1832320.41.34166730.61.48328140.81.61251351.01.732140

35、第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法補(bǔ)充補(bǔ)充-單步法的收斂性和穩(wěn)定性單步法的收斂性和穩(wěn)定性計(jì)算過程中舍入誤差總是存在的,以計(jì)算過程中舍入誤差總是存在的,以euler法為例。法為例。 假設(shè),由于舍入誤差的影響,實(shí)際得到的是假設(shè),由于舍入誤差的影響,實(shí)際得到的是.iiiyy),(1iiiiyxhfyy),(1iiiiyxhfyy兩式相減兩式相減,可得可得:),(),(1iiiiiiyxfyxfh第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法由微分中值定理得由微分中值定理得:),(),(1iiiiiiyxfyxfh由此可知由此可知:只有當(dāng)只有當(dāng)1| ),(1

36、 |nyxhf誤差不增誤差不增,算法穩(wěn)定算法穩(wěn)定第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法1. 單步法的收斂性單步法的收斂性補(bǔ)充定義補(bǔ)充定義1: 設(shè)設(shè)y(x)是初值問題是初值問題(6.2)的精確解的精確解,對(duì)單步法對(duì)單步法),(1hyxgyyiiii若有若有:ixyyiih),(lim0則稱單步法收斂則稱單步法收斂第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法補(bǔ)充定義補(bǔ)充定義2:用單步法解模型方程用單步法解模型方程 得到解滿足穩(wěn)定性方程得到解滿足穩(wěn)定性方程 若若 ,就稱此方法是就稱此方法是絕對(duì)穩(wěn)定絕對(duì)穩(wěn)定的的 在復(fù)平面上,所有滿足 所圍成的區(qū)域稱為方所圍成的

37、區(qū)域稱為方法的絕對(duì)穩(wěn)定區(qū)域法的絕對(duì)穩(wěn)定區(qū)域.0)re(,yynnyhey)(11|)(|he1|)(|he的交稱為絕對(duì)穩(wěn)定區(qū)間在實(shí)軸為實(shí)數(shù)時(shí),此區(qū)域與(當(dāng)h)0第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法例例5:求:求euler法的絕對(duì)穩(wěn)定區(qū)間法的絕對(duì)穩(wěn)定區(qū)間 yyxfy),(解:),(1iiiiyxhfyyiiiiyheyhyhy)()1(hh 1)e (所以021|1|)e|hhh得(由第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法6.4 阿達(dá)姆斯方法阿達(dá)姆斯方法 我們已經(jīng)知道,初值問題我們已經(jīng)知道,初值問題(61)等價(jià)于積分方程,等價(jià)于積分方程,即即1)

38、,()()(1iixxiidxyxfxyxy11),(iiiixxxxdxyxfdxy第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法 對(duì)積分式分別采用對(duì)積分式分別采用矩形矩形和和梯形面積公式梯形面積公式 可得到歐拉公式和改進(jìn)歐拉公式可得到歐拉公式和改進(jìn)歐拉公式(梯形法梯形法), 截?cái)嗾`差分別為截?cái)嗾`差分別為o(h2)和和o(h3)。 若追溯到數(shù)值積分原理,梯形法則若追溯到數(shù)值積分原理,梯形法則 實(shí)際上是用節(jié)點(diǎn)實(shí)際上是用節(jié)點(diǎn) x i和和x i+1 的線性插值函數(shù)代替的線性插值函數(shù)代替f(x,y) 而得到的。而得到的。 為此,我們自然可以想到,若用為此,我們自然可以想到,若用更高次的插值多項(xiàng)式來更高次的插值多項(xiàng)式來代替代替f(x,y),則所得公式的精度會(huì)更高,則所得公式的精度會(huì)更高。-這就是線性多步法的這就是線性多步法的起源思想起源思想。 (624) 第第6 6章章 常微分方程數(shù)值解法常微分方程數(shù)值解法 計(jì)算方法 對(duì)于對(duì)于線性多步法線性多步法 是要利用前面已經(jīng)算出的若干個(gè)值是要利用前面已經(jīng)算出的若干個(gè)值 yi-k,yi-1,yi來求yi+1。 現(xiàn)用k次多項(xiàng)式pk(x)來代替f(x,y) 有: f (x ,y) =p k (x) + r k (x)111()()( )( )iiiixxiikkxxy xy

溫馨提示

  • 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)論