【正文】
? ?101 ??101 ?10?1 ?10?2 ?10?2 ?10?3 ?10?4 ?101 ?101 ?101 ?10?2 ?10?3 ?10?4 ?10?6 ?10?7 What is wrong ??! 定義 若某算法在計(jì)算過(guò)程中任一步產(chǎn)生的誤差在以后的計(jì)算中都 逐步衰減 , 則稱該算法是 絕對(duì)穩(wěn)定的 /*absolutely stable */。 4 收斂性與穩(wěn)定性 /* Convergency and Stability */ ? /* Convergency */ 定義 若某算法對(duì)于任意固定的 x = xi = x0 + i h, 當(dāng) h?0 ( 同時(shí) i ? ?) 時(shí)有 yi ? y( xi ), 則稱該算法是 收斂 的 。 ) ... , ( ... ... ) , ( ) , ( ) , ( ] ... [ 1 1 2 2 1 1 2 32 1 31 3 3 1 21 2 2 1 2 2 1 1 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? m m m m m m i m i i i i i i m m i i hK hK hK y h x f K hK hK y h x f K hK y h x f K y x f K K K K h y y ? ? ? ? ? ? ? ? ? ? ? ? ? 最常用為四級(jí) 4階 經(jīng)典龍格 庫(kù)塔法 /* Classical RungeKutta Method */ : ),(),(),(),()22(34222312221432161hKyhxfKKyxfKKyxfKyxfKKKKKyyiihihihihiiihii????????????????注: ? 龍格 庫(kù)塔法 的主要運(yùn)算在于計(jì)算 Ki 的值,即計(jì)算 f 的值。所有滿足上式的格式統(tǒng)稱為 2階龍格 庫(kù)塔格式 。歐拉法及其各種變形所 能達(dá)到的最高精度為 2階 ??梢宰C明該算法具有 2 階精度,同時(shí)可以看到它是個(gè) 單步 遞推格式,比隱式公式的迭代求解過(guò)程 簡(jiǎn)單 。但注意到該公式是 隱式 公式,計(jì)算時(shí)不得不用到迭代法,其迭代收斂性與歐拉公式相似。 Ri 的 主項(xiàng) /* leading term */ 5. 歐拉公式的改進(jìn) : ? 隱式歐拉法 /* implicit Euler method */ 向后差商近似導(dǎo)數(shù) hxyxyxy )()()( 011??? x0 x1 )) ( , ( ) ( 1 1 0 1 x y x f h y x y ? ? ) 1 , ... , 0 ( ) , ( 1 1 1 ? ? ? ? ? ? ? n i y x f h y y i i i i 由于未知數(shù) yi+1 同時(shí)出現(xiàn)在等式的兩邊,不能直接得到,故稱為 隱式 /* implicit */ 歐拉公式,而前者稱為 顯式 /* explicit */ 歐拉公式。 1()i i iR y x y???定義 若某算法的局部截?cái)嗾`差為 O(hp+1), 則稱該算法有 p 階精度 。 初值問(wèn)題的數(shù)值解法 ― 單步法 1. 簡(jiǎn)單的歐拉 (Euler)方法 考慮模型: 00( , ) ( 1 . 1 )( ) ( 1 . 2 )y f x y a x by x y? ? ? ???????在精度要求不高時(shí) 通過(guò)歐拉方法的討論 弄清常微方程初值問(wèn)題數(shù)值解法的一些基本概念和構(gòu)造方法的思路 . 歐拉方法 最簡(jiǎn)單而直觀 實(shí)用方法 2. 歐拉方法的導(dǎo)出 把區(qū)間[ a,b] 分為 n個(gè)小區(qū)間 步長(zhǎng)為 要計(jì)算出解函數(shù) y(x) 在一系列節(jié)點(diǎn) ()iiy y x?)/()( i i ix a ih h h b a n? ?? ??, 一 般 取 即 等 距節(jié)點(diǎn) 處的近似值 01 na x x x b? ? ? ? ?1( )i i ih x x??N等分 00( , ) ( 1 . 1 )( ) ( 1 . 2 )y f x y a x by x y? ? ? ??? ??對(duì)微分方程 ()兩端從 1nnxx ?到 進(jìn)行積分 11 ( , ( ) )nnnnxxxxy d x f x y x d x??? ???11( ) ( ) ( , ( ) )nnxnn xy x y x f x y x d x?? ?? ?右端積分用左矩形數(shù)值求積公式 2()( ) ( ) ( ) ( )2bagg x d x b a g a b a??? ? ? ??( ) ( , ( ) )g x f x y x?令1 )1( , ( ) )( ( , ( ) ) n n n nxxnnf x y xnny y f x y xh? ?????得 x0 x1 1( ) ( ) ( ) ( , )n n n n n ny x y x hy x y h f x y? ?? ? ? ?)1,. . .,0(),(1 ????? niyxfhyy iiii亦稱為 歐拉折線法 /* Euler’s polygonal arc method*/ 每步計(jì)算 只用到 1ny ?或用向前差 商近似導(dǎo)數(shù) 1( ) ( )() nnn y x y xyx h? ?? ?1 0 0 02 1 1 11( , )( , ) ( , )n n n ny y h f x yy y h f x yy y h f x y???????依上述公式逐次計(jì)算可得: ny例題 依此類(lèi)推得到一折線 故也稱 Euler為單步法。 程 (組 )的解析解 ? (組 )的解析解 ? ? 雖然求解微分方程有許多解析方法 ,但解析方法 只能夠求解一些特殊類(lèi)型的方程 ,從實(shí)際意義 上來(lái)講 我們更關(guān)心的是某些 特定的自變量在某一個(gè) 定義范圍內(nèi)的 一系列離散點(diǎn) 上的近似值 . 尋找數(shù)值解的過(guò)程稱為數(shù)值求解微分方程。 習(xí)題和 總結(jié) 主 要 內(nèi) 容 主 要 內(nèi) 容 ?研究的問(wèn)題 ?數(shù)值解法的意義 167。 龍格 庫(kù)塔方法 167。 第九章 常微分方程的數(shù)值解法 167。 收斂性與穩(wěn)定性 167。 引 言 現(xiàn)實(shí)世界中大多數(shù)事物 內(nèi)部聯(lián)系非常復(fù)雜 找出其狀態(tài)和狀態(tài)變化規(guī)律之間的相互聯(lián)系,也即一個(gè)或一些函數(shù)與他們的導(dǎo)數(shù)之間的關(guān)系 此種關(guān)系的數(shù)學(xué)表達(dá)就為 微分方程 ? 其狀態(tài)隨著 時(shí)間、地點(diǎn)、條件 的不同而不同 如何利用數(shù)值方法求解微分方程(組)的問(wèn)題。 把這樣一組近似解稱為 微分方程在該范圍內(nèi)的 數(shù)值解 在大量的實(shí)際方程中出現(xiàn)的函數(shù)起碼的連續(xù)性都 無(wú)法保證,更何況要求階的導(dǎo)數(shù) 求解數(shù)值解 很多微分方程 根本求不到 問(wèn)題的解析解! 重要手段。 ny公式右端只含有已知項(xiàng) 所以又稱為 顯格式的單步法 。 Ri 的 主項(xiàng) /* leading term */ ? 歐拉法的局部截?cái)嗾`差: 2 32 ( ) ( )h iy x O h????歐拉法具有 1 階精度。 一般先用顯式計(jì)算一個(gè)初值,再 迭代 求解。 )()( 311 hOyxyR iii ??? ??? 中點(diǎn)歐拉公式 /* midpoint formula */ 中心差商近似導(dǎo)數(shù) hxyxyxy2)()()( 021???x0 x2 x1 ))(,(2)()( 1102 xyxfhxyxy ??1,...,1),(211 ???? ?? niyxfhyy iiii假設(shè) ,則可以導(dǎo)出 即中點(diǎn)公式具有 2 階精度。后面將看到,它的 穩(wěn)定性高 于顯式歐拉法。 建立高精度的單步遞推格式。 21,121 ??? ??p注意到, 就是改進(jìn)的歐拉法。 Butcher 于 1965年給出了計(jì)算量與可達(dá)到的最高精度階數(shù)的關(guān)系: 7 5 3 可達(dá)到的最高精度 6 4 2 每步須算 Ki 的個(gè)數(shù) )( 2hO )( 3hO )( 4hO )( 5hO )( 6hO)( 4hO )( 2?nhO8?n? 由于龍格 庫(kù)塔法的導(dǎo)出基于泰勒展開(kāi),故精度主要受解函數(shù)的光滑性影響。 例: 就初值問(wèn)題 考察歐拉顯式格式的收斂性。 一般分析時(shí)為簡(jiǎn)單起見(jiàn),只考慮 試驗(yàn)方程 /* test equation */ yy ???常數(shù),可以是復(fù)數(shù) 當(dāng)步長(zhǎng)取為 h 時(shí),將某算法應(yīng)用于上式,并假設(shè)只在初值產(chǎn)生誤差 ,則若此誤差以后逐步衰減,就稱該算法相對(duì)于 絕對(duì)穩(wěn)定 , 的全體構(gòu)成 絕對(duì)穩(wěn)定區(qū)域 。其一般形式為 : 11Ln n i iiy y h k????? ?12 2 2 13 3 3 31 1 32 211, , 1 , 2 , ,( , )( , )( , ( ) )nnnnnnii n i n i i j jjk f x c h y c h a k i Lk f x yk f x c h y c h kk f x c h y c h a k a k????????????? ??? ? ? ?? ??? ????? ? ?? ? ? ??式 () 稱 L級(jí) p階 RungeKutta方法 (簡(jiǎn)稱 RK法 )。最常用的 4級(jí) 4階是如下的 經(jīng)典 RK方法 : 1 1 2 3 41213243( 2 2 )6( , )( , )22( , )22( , )nnnnnnnnnnhy y k k k kk f x yhhk f x y khhk f x y kk f x h y hk?? ? ? ? ????? ? ? ????? ? ???? ? ??4. RKFehhlberg 方法 RKFehhlberg方法 是在 RK方法的基礎(chǔ)上引進(jìn)誤差和步長(zhǎng) 控制的辦法。而在隱式公式中對(duì)系數(shù)求和的上限是 L, 從而構(gòu)成的矩陣是方陣 , 需要用迭代法求出 Ki, 。 常用的隱式 RK法有 : ?????? ???? ?? 2,21 11 nnnnn yyhxhfyy)],(),([2 111 ??? ??? nnnnnn yxfyxfhyy 1 1 21 1 22 1 2()23 3 1 3 2 3,6 4 123 3 3 2 3 1,6 12 4nnnnnnhy y k kk f x h y k h k hk f x h y k h k h??? ? ? ????????? ? ? ?????????????? ? ? ???????1級(jí) 2階中點(diǎn)公式 : 2級(jí) 2階梯形公式: 2級(jí) 4階 RK公式: 在單步法中每一積分步步長(zhǎng)實(shí)際上是相互獨(dú)立的 , 步長(zhǎng)的 選擇具有了靈活性 。 這種通過(guò)加倍或折半處理步長(zhǎng)的計(jì)算方法稱為變步長(zhǎng)方法。 )hhy x h y x x y hh???? ??則稱由 ( ) 確定的單步法與微分方程初值問(wèn)題是 相容 的 注 意到上式左邊極限為 由 ( ) 知它應(yīng)等于從而由相容性 定義得 稱 相容性條件 。 nynx0h? 1nnxx? ? 1 ()nny y x? ?1nnx x h? ??單步法的穩(wěn)定性 定義三 : 若一個(gè)數(shù)值方法在基點(diǎn) 處的值有 的擾動(dòng) , 在 此后各基點(diǎn) ( mn) 處的值產(chǎn)生的偏差均不超 過(guò) , 則稱該方法是 穩(wěn)定 的 。 由于我們考慮 的單步法皆為正整數(shù) , p至少為一 。101( ) ( , ) ( )l im phy x f x y O hh ????0()lim phOh? 穩(wěn)定性和收斂性的關(guān)系 若單步法的