資源描述:
《081數(shù)值計算方法—常微分方程組》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、科學(xué)計算—理論、方法及其基于MATLAB的程序?qū)崿F(xiàn)與分析微分方程(組)數(shù)值解法§1常微分方程初值問題的數(shù)值解法微分方程(組)是科學(xué)研究和工程應(yīng)用中最常用的數(shù)學(xué)模型之一。如揭示質(zhì)點運動規(guī)律的Newton第二定律: ?。ǎ保┖涂坍嫽芈冯娏骰螂妷鹤兓?guī)律的基爾霍夫回路定律等,但是,只有一些簡單的和特殊的常微分方程及常微分方程組,可以求得用公式給出的所謂“解析解”或“公式解”,如一階線性微分方程的初值問題: ?。ǎ玻┑慕鉃椋骸 。ǎ常┑?,絕大多數(shù)在實際中遇到的常微分方程和常微分方程
2、組得不到“解析解”,因此,基于如下的事實:1、絕大多數(shù)的常微分方程和常微分方程組得不到(有限形式的)解析解;2、實際應(yīng)用中往往只需要知道常微分方程(組)的解在(人們所關(guān)心的)某些點處的函數(shù)值(可以是滿足一定精度要求的近似值);如果只需要常微分方程(組)的解在某些點處的函數(shù)值,則沒有必要非得通過求得公式解,然后再計算出函數(shù)值不可,事實上,我們可以采用下面將介紹的常微分方程(組)的初值問題的數(shù)值解法,就可以達到這一目的。一般的一階常微分方程(組)的初值問題是指如下的一階常微分方程(組)的定解問題: ?。ǎ罚┢渲小 ?/p>
3、 ?。ǎ福 。ǎ梗┏N⒎址匠蹋ńM)的初值問題通常是對一動態(tài)過程(動態(tài)系統(tǒng)、動力系統(tǒng))演化規(guī)律的描述,求解常微分方程(組)的初值問題就是要了解和掌握動態(tài)過程演化規(guī)律。§1.1常微分方程(組)的Cauch問題數(shù)值解法概論假設(shè)要求在點(時刻),處初值問題(7)的解的(近似)值,如果已求得時刻的值或它的近似值(如時刻的值),那么將式(7)的兩端在區(qū)間上積分 (10)可得 (11)或 (12)顯然,為了利用式(11)或(12)求得的精確值(近似值),必須計算右端的積分,這是問
4、題的關(guān)鍵也是難點所在,如前所述,一般得不到精確的公式解,因此需要采用數(shù)值積分的方法求其近似解,可以說,不同的式值積分方法將給出不同的Cauch問題的數(shù)值解法?!?.2 最簡單的數(shù)值解法——Euler方法假設(shè)要求在點(時刻),,處初值問題(7)的解的近似值。首先對式(7)的兩端積分,得 ?。?3)對于式(13)的右邊,如果用積分下限處的函數(shù)值代替被積函數(shù)作積分(從幾何上的角度看,是用矩形面積代替曲邊梯形面積),則有 ?。?4)進而得到下式給出的遞推算法—Euler方法 ?。?5)例1 用Euler
5、方法解如下初值問題,取,解:由(15)得結(jié)果如下:openEuler_Method.m如果取,其結(jié)果如下圖所示:Euler_Method§1.3 改進的Euler方法對于(15)的右邊,如果被積函數(shù)用積分限和處的函數(shù)值的算術(shù)平均值代替(幾何上,是用梯形面積代替曲邊梯形面積),則有 (16)進而得到下式給出的遞推算法: ?。?7)通常算法(17)比Euler方法(15)的精度高,但是,按算法(17)求時要解(非線性)方程(組),這是算法(17)不如Euler方法的方面,為了1)盡可能地保持算法(17)精度高的優(yōu)點;2)盡可能地
6、利用Euler方法計算簡單的長處;人們采取了如下的稱之為改進的Euler方法的折衷方案:預(yù)測 ?。?8)修正 (19) 例2 Euler方法與改進的Euler方法的比較 下圖是當(dāng)時比較的結(jié)果:openImproved_Euler_Method.m§1.4 Euler方法和改進的Euler方法的誤差分析由Taylor公式(19)說明Euler方法的截斷誤差是,類似地,由 ?。?0)(21)以及(22)讓式(20)的兩端減式(21)的兩端,可得(23)從上述推導(dǎo)Euler方法、改進的Euler方法
7、的過程以及例1、例2容易看出,改進的Euler方法Euler方法的精度高,其原因在于:1在推導(dǎo)Euler方法時,我們是用待求解函數(shù)在一點處的變化率代替在區(qū)間上的平均變化率:(24)2而在推導(dǎo)改進的Euler方法時,我們是用待求解函數(shù)在兩點處變化率的平均值代替在區(qū)間上的平均變化率;顯然,通常比更接近于在區(qū)間上的平均變化率。由此啟發(fā)人們:適當(dāng)?shù)剡x取區(qū)間上函數(shù)若干點處的變化率,用它們加權(quán)平均值代替在區(qū)間上的平均變化率,近似解的精度應(yīng)更高。下面將要介紹的Runge—Kutta法就是基于上述想法得到的?!? Runge—Kutta法Rung
8、e—Kutta法是按選取區(qū)間上函數(shù)變化率的個數(shù)的多少和截斷誤差的階數(shù)來區(qū)分的一系列方法,如1二階的Runge—Kutta法(改進的Euler方法)(25)2三階的Runge—Kutta法(26)3四階的Runge—Kutta法1)古典形式(27)2