《變步長的龍格庫塔法學(xué)習(xí)教案》由會員分享,可在線閱讀,更多相關(guān)《變步長的龍格庫塔法學(xué)習(xí)教案(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、會計學(xué)1變步長的龍格庫塔法變步長的龍格庫塔法第一頁,共16頁。11111R K(,)(,)(2 , 3,)(,)()pnniiinniininijjjnnnyyhc KKfxyKfxa hyhb KipxyT a ylo ryxxT a ylo r一 般 地 ,方 法 設(shè) 近 似 公 式 為確 定 原 則 是 使 近 似 公 式 在處 的展 開 式 與在處 的展 開 式 的 前 面 項(xiàng) 盡 可 能 多 地 重 合 。111112121(,)11()22(,)(,)nnnnnnnnnnyyh KE u le rKfxyyyhKKE u le rKfxyKfxhyh K公 式 改 進(jìn)公 式第1頁/
2、共16頁第二頁,共16頁。第2頁/共16頁第三頁,共16頁。7.4.6 變步長的龍格變步長的龍格-庫塔法庫塔法 在微分方程的數(shù)值解中,選擇適當(dāng)?shù)牟介L在微分方程的數(shù)值解中,選擇適當(dāng)?shù)牟介L是非常重要的。單從每一步看,步長越小,是非常重要的。單從每一步看,步長越小,截斷誤差就越?。坏S著步長的縮小,在一截斷誤差就越小;但隨著步長的縮小,在一定的求解區(qū)間內(nèi)所要完成的步數(shù)就增加了。定的求解區(qū)間內(nèi)所要完成的步數(shù)就增加了。這樣會引起計算量的增大,并且會引起舍入這樣會引起計算量的增大,并且會引起舍入誤差的大量積累與傳播誤差的大量積累與傳播(chunb)。因此微分。因此微分方程數(shù)值解法也有選擇步長的問題。方程數(shù)
3、值解法也有選擇步長的問題。 以經(jīng)典的四階龍格以經(jīng)典的四階龍格-庫塔法庫塔法(7.20)為例。從節(jié)為例。從節(jié)點(diǎn)點(diǎn)xi出發(fā),先以出發(fā),先以h為步長求出一個近似值,記為步長求出一個近似值,記為為 ,由于局部截斷誤差為,由于局部截斷誤差為 ,故有,故有 )(1hiy)(5hO5)(11)(chyxyhii當(dāng)h值不大時,式中的系數(shù)(xsh)c可近似地看作為常數(shù)。第3頁/共16頁第四頁,共16頁。然后將步長折半然后將步長折半(zhbn),(zhbn),即以為即以為 步長步長, ,從節(jié)點(diǎn)從節(jié)點(diǎn)xixi出出發(fā)發(fā), ,跨兩步到節(jié)點(diǎn)跨兩步到節(jié)點(diǎn)xi+1,xi+1,再求得一個近似值再求得一個近似值 , ,每跨一每跨
4、一步的截斷誤差是步的截斷誤差是 , ,因此有因此有2h)2(1hiy52 hc5)2(1122)()(hcxyxyhii這樣這樣(zh(zhyngyng) ) 161)()()(11)2(11hiihiiyxyyxy)(151)()(1)2(1)2(11hihihiiyyyxy由此可得由此可得 這表明以這表明以 作為作為 的近似值,其誤差的近似值,其誤差(wch)(wch)可用步長折半前后兩次計算結(jié)果的偏差可用步長折半前后兩次計算結(jié)果的偏差 )2(1hiy)(1ixy)(1)2(1hihiyy來判斷所選步長是否適當(dāng)來判斷所選步長是否適當(dāng)?shù)?頁/共16頁第五頁,共16頁。當(dāng)要求的數(shù)值當(dāng)要求的數(shù)值
5、(shz)(shz)精度為精度為時:時: (1 1)如果)如果,反復(fù)將步長折半進(jìn)行計算,直至,反復(fù)將步長折半進(jìn)行計算,直至為止為止, ,并取其最后一次步長的計算結(jié)果并取其最后一次步長的計算結(jié)果(ji gu)(ji gu)作作為為 (2 2)如果)如果為止為止,并以上一次步長的計算結(jié)果,并以上一次步長的計算結(jié)果(ji gu)(ji gu)作為作為 。 這種通過步長加倍或折半來處理步長的方法稱為變步這種通過步長加倍或折半來處理步長的方法稱為變步長法。表面上看,為了選擇步長,每一步都要反復(fù)判斷長法。表面上看,為了選擇步長,每一步都要反復(fù)判斷,增加了計算工作量,但在方程的解,增加了計算工作量,但在方程
6、的解y(x)y(x)變化劇烈的變化劇烈的情況下,總的計算工作量得到減少,結(jié)果情況下,總的計算工作量得到減少,結(jié)果(ji gu)(ji gu)還是還是合算的。合算的。1iy1iy第5頁/共16頁第六頁,共16頁。第6頁/共16頁第七頁,共16頁。其中其中i ( i = 1, , m ),i ( i = 2, , m ) 和和 ij ( i = 2, , m; j = 1, , i1 ) 均為待定系數(shù)均為待定系數(shù)(xsh),確定這些系數(shù),確定這些系數(shù)(xsh)的步驟與前面相似。的步驟與前面相似。 2 Runge-Kutta Method).,(.),(),(),(.1122112321313312
7、122122111 mm mmmmimiiiiiimmiihKhKhKyhxfKhKhKyhxfKhKyhxfKyxfKKKKhyyb bb bb ba ab bb ba ab ba al ll ll l 高階高階RungeKutta Method第7頁/共16頁第八頁,共16頁。第8頁/共16頁第九頁,共16頁。 Gill公式:公式:4階經(jīng)典龍格階經(jīng)典龍格-庫塔公式的一種庫塔公式的一種(y zhn)改進(jìn)改進(jìn)112346121222 1231222222423222222( ,)(,)(,1)(,1)hiiiihhiihiiiiyyKKKKKf xyKf xyKKf xyhKhKKf xh y
8、hKhK2 Runge-Kutta Method 最常用最常用(chn yn)為四級為四級4階經(jīng)典龍格階經(jīng)典龍格-庫塔法庫塔法 /* Classical Runge-Kutta Method */ :),(),(),(),()22(34222312221432161hKyhxfKKyxfKKyxfKyxfKKKKKyyiihihihihiiihii 第9頁/共16頁第十頁,共16頁。2 Runge-Kutta Method注:注: 龍格龍格-庫塔法庫塔法的主要運(yùn)算在于計算的主要運(yùn)算在于計算 Ki 的值,即計算的值,即計算 f 的的值。值。Butcher 于于1965年給出了計算量與可達(dá)到的最高
9、年給出了計算量與可達(dá)到的最高精度階數(shù)的關(guān)系:精度階數(shù)的關(guān)系:753可達(dá)到的最高精度可達(dá)到的最高精度642每步須算每步須算Ki 的個數(shù)的個數(shù))(2hO)(3hO)(4hO)(5hO)(6hO)(4hO)(2nhO8n 由于龍格由于龍格-庫塔法的導(dǎo)出基于泰勒展開,庫塔法的導(dǎo)出基于泰勒展開,故精度主要受解函數(shù)的光滑性影響。對故精度主要受解函數(shù)的光滑性影響。對于于(duy)光滑性不太好的解,最好采光滑性不太好的解,最好采用低階算法而將步長用低階算法而將步長h 取小。取小。第10頁/共16頁第十一頁,共16頁。第11頁/共16頁第十二頁,共16頁。第12頁/共16頁第十三頁,共16頁。2 Runge-K
10、utta Method 變步長的變步長的RungeKutta Method1(1)1ppnnRchyxQ: 由局部截斷誤差可以看出,步長由局部截斷誤差可以看出,步長 h 越小,局部截斷誤差越越小,局部截斷誤差越?。坏介L減小,在一定求解范圍(區(qū)間)內(nèi)要完成的步數(shù)就?。坏介L減小,在一定求解范圍(區(qū)間)內(nèi)要完成的步數(shù)就增加了,步數(shù)增加會引起增加了,步數(shù)增加會引起(ynq)計算量增大,導(dǎo)致舍入誤差積計算量增大,導(dǎo)致舍入誤差積累。因此要選取適當(dāng)?shù)牟介L。累。因此要選取適當(dāng)?shù)牟介L。選擇步長時要考慮兩個問題:選擇步長時要考慮兩個問題: 1.如何衡量和檢驗(yàn)計算結(jié)果的精度?如何衡量和檢驗(yàn)計算結(jié)果的精度? 2.如何根據(jù)所獲得如何根據(jù)所獲得(hud)的精度處理步的精度處理步長?長?第13頁/共16頁第十四頁,共16頁。第14頁/共16頁第十五頁,共16頁。HW: p.201 #6-8第15頁/共16頁第十六頁,共16頁。