【正文】
,比歐拉方法有了進(jìn)步。 一般先用顯式計(jì)算一個(gè)初值,再 迭代 求解。 如果單步差分公式的局部截?cái)嗾`差為 O(hp+1), 則稱(chēng)該公式為 p階方法 .這里 p為非負(fù)整數(shù) . 顯然 ,階數(shù)越高 ,方法的精度越高 . Taylor展開(kāi)式 ,一元函數(shù)的 Taylor展開(kāi)式為 : ??????????????? 321 !3 )(!2 )()()()()( hxyhxyhxyxyhxyxy nnnnnn2 3( ) [ ( ) ( ) ( ) ( ) ] [ ( , ) ]11 2hR y x y y x h y x y x O h y h f x yi i i i i i i i i? ??? ? ? ? ? ? ? ???2 32 ( ) ( )h iy x O h????若某算法的局部截?cái)嗾`差為 O(hp+1),則稱(chēng)該算法有 p 階精度。 Ri 的 主項(xiàng) /* leading term */ ? 歐拉法的局部截?cái)嗾`差: 2 32 ( ) ( )h iy x O h????歐拉法具有 1 階精度。 : 在假設(shè)第 i 步計(jì)算是精確的前提下,考慮 截?cái)嗾`差 稱(chēng)為局部截?cái)嗾`差 /* local truncation error */。 ny公式右端只含有已知項(xiàng) 所以又稱(chēng)為 顯格式的單步法 。 各種數(shù)值解法 則稱(chēng) f (x,y) 對(duì) y 滿足李普希茲條件, L 稱(chēng)為L(zhǎng)ipschitz常數(shù) . 常微分方程的理論指出: 當(dāng) f (x,y) 定義在區(qū)域 G=(a≤x≤b,| y|< ∞) 若存在正的常數(shù) L 使: 1 2 1 2| ( , ) ( , ) | | | ( 1. 3)f x y f x y L y y? ? ?12[ , ] ,x a b y y?使 得 對(duì) 任 意 的 及 都 成 立就可保證方程解的存在唯一性 (Lipschitz)條件 我們以下的討論,都在滿足上述條件下進(jìn)行 . 若 f (x,y) 在區(qū)域 G連續(xù),關(guān)于 y 一階常微分方程的初值 問(wèn)題的解存在且唯一 . 滿足李普希茲 條件 一階常微分方程組常表述為: 1 1 11( , , , ) ( ) ( , , , )mm m my f x y ya x by f x y y? ??????? ? ??1 0 10() ()mmyxyx??????? ??方程組 初值條件 寫(xiě)成向量形式為 ( 1 ) ( )0 0 0 0 0( , )( ) , ( , , )mTy f x y a x by x y x x x? ? ? ??????高階常微分方程定解問(wèn)題如 二階定解問(wèn)題 : ( , , ) ()()y f x y y a x byaya???? ?? ? ???? ??? ??也就解決了高階方程的定解問(wèn)題 . 這些解法都可以寫(xiě)成向量形式 用于一階常微分方程組的初值問(wèn)題 . 簡(jiǎn)單的數(shù)值方法與基本概念 1. 簡(jiǎn)單 歐拉法( Euler) 2.后退的歐拉法 3.梯形法 4.改進(jìn) Euler法 167。 把這樣一組近似解稱(chēng)為 微分方程在該范圍內(nèi)的 數(shù)值解 在大量的實(shí)際方程中出現(xiàn)的函數(shù)起碼的連續(xù)性都 無(wú)法保證,更何況要求階的導(dǎo)數(shù) 求解數(shù)值解 很多微分方程 根本求不到 問(wèn)題的解析解! 重要手段。 一個(gè)或一組具有所要求階連續(xù)導(dǎo)數(shù)的解析函數(shù),將 它代入微分方程(組),恰使其所有條件都得到滿 足的解稱(chēng)為 解析解 (或古典解 ),稱(chēng)為真解或解。 引 言 現(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)題。 方程組和剛性方程 167。 收斂性與穩(wěn)定性 167。 初值問(wèn)題的數(shù)值解法 單步法 167。 第九章 常微分方程的數(shù)值解法 167。 引言 167。 龍格 庫(kù)塔方法 167。 初值問(wèn)題的數(shù)值解法 ― 多步法 167。 習(xí)題和 總結(jié) 主 要 內(nèi) 容 主 要 內(nèi) 容 ?研究的問(wèn)題 ?數(shù)值解法的意義 167。 如何建立 數(shù)學(xué) 模型 已在建模課程中得到討論,各類(lèi)微分方程本身和他們的解所具有的特性 已在常微分方程及數(shù)學(xué)物理方程中得以解釋 , 本章專(zhuān)門(mén)討論 尋找解析解的過(guò)程稱(chēng)為求解微分方程組。 程 (組 )的解析解 ? (組 )的解析解 ? ? 雖然求解微分方程有許多解析方法 ,但解析方法 只能夠求解一些特殊類(lèi)型的方程 ,從實(shí)際意義 上來(lái)講 我們更關(guān)心的是某些 特定的自變量在某一個(gè) 定義范圍內(nèi)的 一系列離散點(diǎn) 上的近似值 . 尋找數(shù)值解的過(guò)程稱(chēng)為數(shù)值求解微分方程。 常微分方程的數(shù)值解法常用來(lái)求近似解 根據(jù)提供的算法 通過(guò)計(jì)算機(jī) 便捷地實(shí)現(xiàn) 數(shù)值解法得到的近似 解 (含誤差 )是一個(gè) 離散的函數(shù)表 . 00( , ) ( 1 . 1 )( ) ( 1 . 2 )y f x y a x by x y? ? ? ?????本章主要討論一階常微方程的初值問(wèn)題 其中 f (x,y)是已知函數(shù), ()是定解條件也稱(chēng)為 初值條件。 初值問(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亦稱(chēng)為 歐拉折線法 /* 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)推得到一折線 故也稱(chēng) Euler為單步法。 0 0 0 01 1 122( , ) ( ) ( , )( ) ( , )( , ) x y y x x yy x x x x yxy??過(guò) 點(diǎn) 的 曲 線 是 解 在 作 的 切 線 與 直 線 交 于 再 作 切 線 交 于 也稱(chēng) 歐拉折線法 . 就是用這條折線近似地代替曲線 歐拉方法 ()yx()y y x?xynx 1nx?np1np ?? ?1npx ?從上述幾何意義上得知,由 Euler法所得的 折線明顯偏離了積分曲線,可見(jiàn)此方法 非常粗糙。 1()i i iR y x y???定義 若某算法的局部截?cái)嗾`差為 O(hp+1), 則稱(chēng)該算法有 p 階精度 。 )],([)]()()()([)( 3211 2 iiiihiiiii yxhfyhOxyxyhxyyxyR ??????????? ??定義 在假設(shè) yi = y(xi), 即第 i 步計(jì)算是精確的前提下 , 考慮 的截?cái)嗾`差 Ri = y(xi+1) ? yi+1 稱(chēng)為 局部截?cái)嗾`差 /* local truncation error */。 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)在等式的兩邊,不能直接得到,故稱(chēng)為 隱式 /* implicit */ 歐拉公式,而前者稱(chēng)為 顯式 /* explicit */ 歐拉公式。 ? 隱式 歐拉法的局部截?cái)嗾`差: 11 )( ?? ?? iii yxyR )()( 322 hOxy ih ?????即隱式歐拉公式具有 1 階精度。但注意到該公式是 隱式 公式,計(jì)算時(shí)不得不用到迭代法,其迭代收斂性與歐拉公式相似。 )(),( 11 iiii xyyxyy ?? ?? )()( 311 hOyxyR iii ??? ??需要 2個(gè)初值 y0和 y1來(lái)啟動(dòng)遞推 過(guò)程,這樣的算法稱(chēng)為 雙步法 /* doublestep method */,而前面的三種算法都是 單步法 /* singlestep method */。可以證明該算法具有 2 階精度,同時(shí)可以看到它是個(gè) 單步 遞推格式,比隱式公式的迭代求解過(guò)程 簡(jiǎn)單 。 ? ?? ? )1,...,0(),(,),(2 11 ?????? ?? niyxfhyxfyxfhyy iiiiiiii167。歐拉法及其各種變形所 能達(dá)到的最高精度為 2階 。 首先希望能確定系數(shù) ? ? p,使得到的算法格式有 2階精度,即在 的前提假設(shè)下,使得 )(ii xyy ?)()( 311 hOyxyR iii ??? ??Step 1: 將 K2 在 ( xi , yi ) 點(diǎn)作 Taylor 展開(kāi) )(),(),(),(),(2112hOyxfp h Kyxp h fyxfp h KyphxfKiiyiixiiii???????)()()( 2hOxyphxy ii ??????將改進(jìn)歐拉法推廣為: ) , ( ) , ( ] [ 1 2 1 2 2 1 1 1 phK y ph x f K y x f K K K h y y i i i i i i ? ? ? ? ? ? ? ? ? ? ),(),(),(),(),(),()(yxfyxfyxfdxdyyxfyxfyxfdxdxyyxyx???????Step 2: 將 K2 代入第 1式,得到 ? ?)()()()()]()()([)(322212211hOxyphxyhyhOxyphxyxyhyyiiiiiiii???????????????????????Step 3: 將 yi+1 與 y( x