《計(jì)算方法2012 6PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算方法2012 6PPT課件(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、考試安排-學(xué)號(hào)去掉1、2、5、8位,在3、4位填24-提前10分鐘到考場(chǎng)所有考試必須帶學(xué)生證無(wú)證不許參加考試-一旦構(gòu)成作弊事實(shí),考試成績(jī)記零分,情節(jié)嚴(yán)重者送交教務(wù)處處理機(jī)試準(zhǔn)考證號(hào)產(chǎn)生辦法帶學(xué)生證考試考試紀(jì)律第1頁(yè)/共26頁(yè)何為數(shù)值解法 所謂解常微分方程的數(shù)值方法,就是不求y(x),只求y(x)在區(qū)間a,b中一系列離散點(diǎn)(也稱節(jié)點(diǎn))a=x0 x1x2xnb上y(xi)的近似值yi (i=1,2,n),這些近似值就是初值問(wèn)題的數(shù)值解。通常取離散點(diǎn)x0 , x1 , x2, xn為等距,即 xi+1-xi =h, i=0,1,2,n-1 h稱為步長(zhǎng)。第2頁(yè)/共26頁(yè)思路在這些節(jié)點(diǎn)上采用離散化方法,
2、通常用數(shù)值積分、微分、泰勒展開等將上述初值問(wèn)題化成關(guān)于離散變量的相應(yīng)問(wèn)題。把這個(gè)相應(yīng)問(wèn)題的解yn作為y(xn)的近似值。這樣求得的yn就是上述初值問(wèn)題在節(jié)點(diǎn)xn上的數(shù)值解。一般說(shuō)來(lái),不同的離散化導(dǎo)致不同的方法。第3頁(yè)/共26頁(yè)問(wèn)題轉(zhuǎn)化)(,()(xyxfxy11)(,()(iiiixxxxdxxyxfdxxy1)(,()()(1iixxiidxxyxfxyxy1)(,()()(1iixxiidxxyxfxyxy 設(shè)y=y(x)為(6.1)的解,則 在區(qū)間xi , xi+1 (i=0,1,2,n-1)上對(duì)式(6.2)進(jìn)行積分,有 (i=0,1,2,n-1) 用不同的方法求定積分,對(duì)應(yīng)著常微分方程
3、初值問(wèn)題的不同解法。第4頁(yè)/共26頁(yè)6.2 歐拉方法1)(,()()(1iixxiidxxyxfxyxy),()(,()()(11iiiiiiiiiyxhfyxxyxfxyxyy圖6-1y(x)xo x0 x1 x2 p0 p1p2 一般地,對(duì)于 在xi, xi+1上取f (x, y (x) f (xi, yi),又由于y(xi) yi ,于是有記 yi+1=yi+ h f (xi , yi) (i=0,1,2,n-1) (6.4)于是 y(xi+1) yi+1 (i=0,1,2,n-1)。(6.4)式即為歐拉(Euler)公式。第5頁(yè)/共26頁(yè)歐拉公式的幾何意義 y圖6-1y(x)xo x0
4、 x1 x2 p0 p1p2第6頁(yè)/共26頁(yè)歐拉法的誤差第7頁(yè)/共26頁(yè)改進(jìn)的歐拉方法 ),(iiyxhf1)(,(iixxdxxyxf歐拉方法是在每個(gè)小區(qū)間xi , xi+1 (i=0,1,2,n-1)上用矩形面積來(lái)近似曲邊梯形面積因此歐拉方法也稱為矩形法。如果以梯形面積來(lái)近似該曲邊梯形面積,將提高計(jì)算精度。就是改進(jìn)的歐拉法 第8頁(yè)/共26頁(yè)改進(jìn)的歐拉法),(),(21)(,(11iiiiyxfyxfxyxf),(),(2)(,(),(21)()(111111iiiiiiiiiiiiiyxfyxfhyxxyxfyxfxyxy),(),(2111iiiiiiyxfyxfhyy設(shè)yi和yi+1為
5、y(xi)和y(xi+1)的近似值,在xi, xi+1(i=0,1,2,n-1)上,取有記 (i=0,1,2,n-1) (6.5) 于是y(x i+1) yi+1 (i=0,1,2,n-1)。(6.5)式稱為梯形公式。第9頁(yè)/共26頁(yè)預(yù)報(bào)校正格式),(),(2),(1111iiiiiiiiiiyxfyxfhyyyxhfyy),(),()(2121211hkyhxfkyxfkkkhyyiiiiii對(duì)梯形公式(6.5)采用預(yù)測(cè)-校正技術(shù),則有 稱為改進(jìn)的歐拉公式。習(xí)慣上常將上式改寫為 第10頁(yè)/共26頁(yè) (1) 輸入x, y,h,n (2) 對(duì)i=1,2,n 做 k1= f (x, y) x=x+
6、h k2= f (x, y+hk1) y=y+h (k1+k2)/2 輸出x, y改進(jìn)歐拉法的算法:第11頁(yè)/共26頁(yè)局部截?cái)嗾`差和方法的階 )()()(,()(),(1iiiiiiiiixyhxyxyxhfxyyxhfyy)()(! 2)()()()(121 iiiiiixxyhxyhxyhxyxy)()(! 2)(2211hOyhyxyii )(1phO 定義6.1 假設(shè)在計(jì)算yi+1的求解公式中的yk(ki)皆為精確值,即yk=y(xk)(ki),則稱y(xi+1)-yi+1為局部截?cái)嗾`差。 考察歐拉公式的局部截?cái)嗾`差,有而據(jù)Taylor展式于是歐拉公式的局部截?cái)嗾`差為定義6.2 如果某
7、種方法的局部截?cái)嗾`差為則稱該方法是p階的,或具有p階精度。由此可知,歐拉方法是一階的。第12頁(yè)/共26頁(yè)改進(jìn)歐拉法是二階的)()()()()(,()()(,()(,()(),(),(),(),()()(,(),(2221121hOxyhxyhOxyxfxyxyxfhxyxfhOyxfhkyxhfyxfhkyhxfkxyxyxfyxfkiiiiyiiixiiiiyiixiiiiiiiii )()(2)()()()()()(2)()(2322211hOxyhxyhxyhOxyhxyxyhxykkhyyiiiiiiiii )()(! 3)(2)()()()(1321 iiiiiiixxyhxyhxy
8、hxyhxyxy)()(311hOyxyii于是故改進(jìn)的歐拉公式的局部截?cái)嗾`差為由此可知,改進(jìn)的歐拉方法是二階的。第13頁(yè)/共26頁(yè)例6.1 分別用歐拉方法和改進(jìn)的歐拉方法求解1)0(10,2yxyxyyxy21iiiiiiiiyxyyxyyy2 . 01 . 1)2( 1 . 01)22(05. 02 . 01 . 111111iiiiiiiiiiiiyxyyxyyyyxyy 取h=0.1。其解析解為解 據(jù)歐拉公式,有 ( i=0,1,2,9 )計(jì)算結(jié)果見(jiàn)表6-1。據(jù)改進(jìn)的歐拉公式,有 ( i=0,1,2,9 )第14頁(yè)/共26頁(yè)計(jì)算結(jié)果xi歐拉方法改進(jìn)的歐拉方法精確值0.11.100000
9、1.0959091.0954450.21.1918181.1840971.1832160.31.2774381.2662011.2649110.41.3582131.3433601.3416410.51.4351331.4164021.4142140.61.5089661.4859561.4832400.71.5803381.5525151.5491930.81.6497831.6164781.6124520.91.7177791.6781671.6733201.01.7847711.7376861.732051第15頁(yè)/共26頁(yè)6.3 龍格-庫(kù)塔方法 龍格-庫(kù)塔(Runge-Kutta)方法
10、,簡(jiǎn)稱R-K法,它的基本思想是,利用f (x, y)在某些點(diǎn)的值的線性組合來(lái)構(gòu)造一類數(shù)值計(jì)算公式,然后按Taylor公式展開,并與初值問(wèn)題的真解的Taylor展式相比較,以確定其中的系數(shù),使其局部截?cái)嗾`差的階數(shù)盡可能地高,也就是使方法的階數(shù)盡可能地高。第16頁(yè)/共26頁(yè)二階龍格-庫(kù)塔方法),(),()(12122111bhkyahxfkyxfkkckchyyiiiiii)()(,(),(1iiiiixyxyxfyxfk)()(,()()(,()()()(,()()(,()(,()(),(),(),(),(222112hOxyxfxybhxyxahfxyhOxyxfxybhxyxahfxyxfh
11、Oyxfbhkyxahfyxfbhkyahxfkiiyiiixiiiyiiixiiiiyiixiiii 二階龍格-庫(kù)塔方法的形式為 現(xiàn)在來(lái)考察其局部截?cái)嗾`差,有 于是第17頁(yè)/共26頁(yè)二階龍格-庫(kù)塔方法)()(,()()(,()()()()()(,()()(,()()()()(32222122122111hOxyxfxybcxyxfachxyhccxyhOxyxfxybhxyxahfxyhcxyhcxykckchyyiiyiiixiiiiyiiixiiiii)()()(,()(,(2)()()()(! 2)()()()(32321hOxyxyxfxyxfhxyhxyhOxyhxyhxyhxyx
12、yiiiyiixiiiiiii )()()(,()21()(,()21()()1 ()(32222111hOxyxyxfbcxyxfachxycchyxyiiiyiixiii 而據(jù)Taylor展式故有第18頁(yè)/共26頁(yè)公式212112221bcacccacabac212112121)2,2(),(12121khyhxfkyxfkkyyiiiiii要使y(xi+1)-yi+1=O(h3),即方法為二階的,只要系數(shù)c1、c2、a、b滿足方程組 這是一個(gè)三個(gè)方程,四個(gè)未知量的方程組,有無(wú)窮多組解。對(duì)于滿足(6.11)的c1、c2、a、b,式(6.10)構(gòu)成了一族二階龍格-庫(kù)塔方法。以a為自由參數(shù)得
13、取a=1,則得改進(jìn)的歐拉公式;取a=此為中點(diǎn)公式第19頁(yè)/共26頁(yè)第20頁(yè)/共26頁(yè)四階龍格-庫(kù)塔方法 ),()2,2()2,2(),()22(6342312143211hkyhxfkkhyhxfkkhyhxfkyxfkkkkkhyyiiiiiiiiii標(biāo)準(zhǔn)四階龍格-庫(kù)塔方法算法: (1) 輸入x, y,h,n (2) 對(duì)i=1,2,n 計(jì)算k1, k2 , k3 , k4 y=y+h (k1+2k2+2k3+k4)/6 x=x+h 輸出x, y第21頁(yè)/共26頁(yè)6.4 線性多步法),(),(),(),(11101111101kikikiiiiiikikiiiyxfyxfyxfyxfhyyyy
14、0101 計(jì)算yi+1時(shí)只用到前一步的近似值yi的方法稱為單步法。易見(jiàn),歐拉方法、改進(jìn)的歐拉方法和標(biāo)準(zhǔn)四階龍格-庫(kù)塔方法都是單步法。而計(jì)算yi+1時(shí)不僅用到y(tǒng)i,還要用到y(tǒng)i-1、yi-2、yi-k(k1)的方法稱為多步法。實(shí)際計(jì)算時(shí),多步法必須借助于某種與它同階的單步法(如龍格-庫(kù)塔方法等),為它提供起動(dòng)值y1、y2、yk-1。 線性多步法的一般形式為當(dāng)時(shí)是顯式多步法,時(shí)是隱式多步法。第22頁(yè)/共26頁(yè)阿達(dá)姆斯方法 )(,()()()()()(,()()()()()(,()()()()()(,()()()()()(,()(33231332122321223111312113232132133
15、3iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijkikkjkjjxyxfxxxxxxxxxxxxxyxfxxxxxxxxxxxxxyxfxxxxxxxxxxxxxyxfxxxxxxxxxxxxxxxxxyxfxp)(,(9)(,(37)(,(59)(,(5524)2)(1()(,(6) 3)(1()(,(2) 3)(2()(,(2) 3)(2)(1()(,(6332211103310221011101iiiiiiiiiiiiiiiiiiixyxfxyxfxyxfxyxfhyduuuuxyxfhduuuuxyxfhduuuuxyxfhduuuu
16、xyxfhyy),(9),(37),(59),(55243322111iiiiiiiiiiyxfyxfyxfyxfhyy1. 阿達(dá)姆斯顯式方法選取四個(gè)點(diǎn)xi-3、xi-2、xi-1、xi為插值節(jié)點(diǎn),于是F(x)=f (x, y(x)的插值多項(xiàng)式 將p3(x)代入式(6.18)中,并作變量替換x=xi+uh,可得 用yi-k替代y(xi-k) (k=0,1,2,3),則有稱為阿達(dá)姆斯(Adams)顯式公式。設(shè)yi-k= y(xi-k) (k=0,1,2,3),則公式(6.19)的局部截?cái)嗾`差為O(h5),即阿達(dá)姆斯顯式方法是四階的第23頁(yè)/共26頁(yè) 2. 阿達(dá)姆斯隱式方法選取四個(gè)點(diǎn)xi-2、xi
17、-1、xi、xi+1為插值節(jié)點(diǎn),于是F(x)=f (x, y(x)的插值多項(xiàng)式)(,()()()()()(,()()()()()(,()()()()()(,()()()()()(,()(22122121111211112121121111211112112123iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijkikkjkjjxyxfxxxxxxxxxxxxxyxfxxxxxxxxxxxxxyxfxxxxxxxxxxxxxyxfxxxxxxxxxxxxxxxxxyxfxp102210111010111) 1() 1()(,(6)2() 1()(,
18、(2)2)(1)(1()(,(2)2)(1()(,(6duuuuxyxfhduuuuxyxfhduuuuxyxfhduuuuxyxfhyyiiiiiiiiii)(,()(,(5)(,(19)(,(924221111iiiiiiiiixyxfxyxfxyxfxyxfhy),(),(5),(19),(9242211111iiiiiiiiiiyxfyxfyxfyxfhyy 將p3(x)代入(6.18)中,并作變量替換x=xi+uh,可得 用yi-k替代y(xi-k) (k= -1,0,1,2),則有稱為阿達(dá)姆斯(Adams)隱式公式。第24頁(yè)/共26頁(yè)阿達(dá)姆斯預(yù)測(cè)-校正方法設(shè)yi-k=y(xi-k)
19、 (k=0,1,2),則公式(6.20)的局部截?cái)嗾`差是O(h5),即阿達(dá)姆斯隱式方法也是四階的。 無(wú)論單步法還是多步法,一般隱式公式都比顯式公式的穩(wěn)定性好,所以常把隱式公式和顯式公式聯(lián)合起來(lái)使用。將公式(6.19)和(6.20)聯(lián)合起來(lái),即得阿達(dá)姆斯(Adams)預(yù)測(cè)-校正公式 ),(),(5),(19),(924),(9),(37),(59),(552422111113322111iiiiiiiiiiiiiiiiiiiiyxfyxfyxfyxfhyyyxfyxfyxfyxfhyy其局部截?cái)嗾`差為O(h5),即阿達(dá)姆斯預(yù)測(cè)-校正方法也是四階的。第25頁(yè)/共26頁(yè)感謝您的觀看。第26頁(yè)/共26頁(yè)