第6章 常微分方程的數(shù)值解法課堂講義_第1頁
第6章 常微分方程的數(shù)值解法課堂講義_第2頁
第6章 常微分方程的數(shù)值解法課堂講義_第3頁
第6章 常微分方程的數(shù)值解法課堂講義_第4頁
第6章 常微分方程的數(shù)值解法課堂講義_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第六章 常微分方程的數(shù)值解法問題:一階常微分方程初值問題 (6.1)其解析解記為 ,即例如: 其解析解為 。另如: 其解析解為 。上述2個(gè)例子,都是極其簡單的情形,皆能用高數(shù)方法求出其解析解。但是,大多數(shù)實(shí)際問題中得到的常微分方程是復(fù)雜的,其解析解一般難以求出。在數(shù)值方法中,我們只能求得在的某些離散點(diǎn)上的近似值。具體如下:從出發(fā),選取一個(gè)合適的步長,則的某些離散點(diǎn)為我們的目的是求出這些點(diǎn)上解析解的近似值這里的是已知的,且當(dāng)作是準(zhǔn)確的。求解這些的過程一般是步進(jìn)式的,步進(jìn)過程如下圖所示:在公式推導(dǎo)之前,有必要把高數(shù)中函數(shù)的Taylor級數(shù)展開來復(fù)述一下,這是本章所有公式推導(dǎo)的基礎(chǔ)。函數(shù)在點(diǎn)作Tay

2、lor級數(shù)展開:這里,都可以是任意一點(diǎn)。例如,若取為, 為,記,代入Taylor級數(shù)展開式可得: (6.2再如,若取為, 為,記,代入Taylor級數(shù)展開式可得: (6.3又如,若取為, 為,記,代入Taylor級數(shù)展開式可得:(6.4如果以上式子中代之以,則有 (6.2.1 (6.3.1等等,都是應(yīng)用Taylor級數(shù)展開得到,這里不一一列舉。注意到,一般地,對以上各式,隨著的增大,累加式中后面的各項(xiàng)將越來越?。淮送?,如果取得比較小,譬如或或等等,則隨著的增大也將越來越小。§6.1 Euler法1. Euler公式對問題(6.1,最基本的公式是Euler公式,它可以簡單地由對(6.2

3、式的近似得到。設(shè)已經(jīng)計(jì)算出,則 (6.5取的近似值 (6.6則從開始,取,就可步進(jìn)地計(jì)算出;這就是著名的Euler公式。在(6.5式中,我們做了二次近似,第一次近似的誤差,對照(6.2式,為這一部分誤差叫做公式(6.6的局部截?cái)嗾`差。第二次近似,是由有誤差引起的,對這一誤差我們一般不好作準(zhǔn)確估計(jì)。二次近似引起的總誤差叫全局截?cái)嗾`差,即由(6.6式計(jì)算得到的近似的誤差,它是由每步的局部截?cái)嗾`差在計(jì)算過程中不斷向后傳播與累積起來的,所以我們一般只需考察一個(gè)公式的局部截?cái)嗾`差大小。對一個(gè)已知公式,例如公式(6.6,我們常常以這樣的過程來推導(dǎo)其局部截?cái)嗾`差:在公式(6.6中,設(shè),這稱之為局部性假定,則

4、再由公式(6.6來計(jì)算時(shí)的誤差就是前面描述的公式(6.6的局部截?cái)嗾`差如果一個(gè)公式的局部截?cái)嗾`差為,則稱該公式是階的,或者說具有階精度。故Euler公式只具有1階精度。2. 后退的Euler公式由方程知 ,由(6.4式得: 取 (6.7這就是后退的Euler公式。在這一公式中,待求的包含在公式的右邊,這樣的公式稱作隱式公式,而前面的Euler公式就是顯式公式。直接使用隱式公式時(shí),或者把從這一公式中顯式地求解出來,或者通過迭代的方法來求解。但人們對隱式公式的使用經(jīng)常是間接的,例如在后面的預(yù)估-校正系統(tǒng)中用作校正公式。3. 梯形公式(6.6 式和 (6.7式左右相加得則有 (6.8這一公式叫梯形公

5、式??梢则?yàn)證梯形公式的精度是2階的。那么為什么叫梯形公式呢?與數(shù)值積分中的梯形公式有什么聯(lián)系?因?yàn)?,故如果右邊的積分項(xiàng)用梯形公式來近似計(jì)算,則取即為梯形公式。4. 改進(jìn)的Euler公式(6.6)式和(6.8)式組合使用,則叫做改進(jìn)的Euler法(或公式:前一個(gè)公式叫預(yù)估,后一個(gè)公式叫校正。理論和實(shí)踐證明這樣的組合使用能提高計(jì)算精度。5. Euler二步法( 6.2減去(6.3得:取即為Euler二步法(或公式。用這一公式計(jì)算時(shí),起動(dòng)時(shí)必須已知,。6. 一個(gè)比改進(jìn)Euler法更復(fù)雜的組合公式這就是所謂的預(yù)估-改進(jìn)-校正-改進(jìn)系統(tǒng)。在改進(jìn)Euler法中,用作預(yù)估的Euler公式是1階精度,而梯形公

6、式是2階精度,二者不是很相配。我們用同樣具有二階精度的Euler二步公式作為預(yù)估公式。則有作為預(yù)估的Euler二步公式的局部截?cái)嗾`差為 (6.9梯形公式的局部截?cái)嗾`差為 (6.10二式相除,有由此式可推導(dǎo)出下列2個(gè)誤差事后估計(jì)式子:第一個(gè)式子表示的近似誤差,第二個(gè)式子表示的近似誤差,而誤差可以通過等式右邊式子事后計(jì)算出來,那么,我們?nèi)绻颜`差加進(jìn)去,則有 這里的第二個(gè)式子中,因?yàn)榇藭r(shí)的還沒有計(jì)算出來,所以不得不用上一步的二者之間誤差來近似,另外開始時(shí)取,即第一步計(jì)算時(shí)不做改進(jìn)。此外公式起動(dòng)計(jì)算之前還要用別的方法先算出。§6.2 線性多步法考察Euler公式,其步進(jìn)式計(jì)算過程為 。再考

7、察Euler二步公式,其步進(jìn)式計(jì)算過程為自然,我們可以想到,利用前面更多個(gè)值來計(jì)算。設(shè)取個(gè),則步進(jìn)式計(jì)算過程可表示為這里有二點(diǎn)說明,一是記,也是已知的;二是是未知的,如果在公式右邊出現(xiàn),則公式就是一個(gè)隱式公式。仿照Euler公式和Euler二步公式,取 (6.11顯然,如果,則是顯式公式,反之,是隱式公式,這類公式稱之為Adams公式?,F(xiàn)在,來確定待定系數(shù)和,使公式(6.11是一個(gè)階公式。(6.11改寫為 (6.12先作局部性假設(shè),即設(shè);,則由Taylor級數(shù)展開得代入(6.12,合并得要使公式為p階,即局部截?cái)嗾`差為,則只要上式與的Taylor級數(shù)展開式中的前p+1項(xiàng)對應(yīng)相同,即如果,即待定

8、系數(shù)個(gè)數(shù)小于方程個(gè)數(shù),則事先確定其中個(gè)系數(shù)后,解出其它系數(shù)(這讓我們有可能找到穩(wěn)定性較好的公式)。公式起動(dòng)計(jì)算時(shí),需要用其它方法先計(jì)算出。例1 確定下列公式中的待定系數(shù),使公式具有3階精度。解:我們可以代入以上一般公式來求解出。但這里,我們就用一般公式的推導(dǎo)過程,直接用Taylor級數(shù)展開的方法。先作局部性假定,即假設(shè)公式等式右邊中所有及導(dǎo)數(shù)都是準(zhǔn)確值:則 由于 欲使只需 即解得則有公式具有3階精度,但可以進(jìn)一步驗(yàn)證公式具有4階精度,這一公式叫Simpson公式,即同樣可以用數(shù)值積分的方法推導(dǎo)。例2 確定下列公式中的待定系數(shù),使公式具有4階精度:。解:可以用代入一般公式得到,或直接應(yīng)用Tayl

9、or級數(shù)展開的方法可得7個(gè)待定系數(shù),5個(gè)方程。取,則可解得則這是一個(gè)4階Adams公式。至于選取,我們是希望所求公式有較好的穩(wěn)定性。§6.3 Runge-Kutta(龍格-庫塔)法1. 基本思想因?yàn)?,則由微分中值定理知其中,如下圖所示 因此 (其實(shí),這就是Talor展開公式只取2項(xiàng)時(shí)的情形這里表示在區(qū)間上函數(shù)的平均斜率。在Euler公式中簡單地取平均斜率。對改進(jìn)Euler公式,可以改寫為如下形式即取與2點(diǎn)上斜率的算術(shù)平均,而由來預(yù)測。那么還有沒有其它更好的辦法來近似計(jì)算平均斜率呢?2. 2階Runge-Kutta法對照改正Euler法,在此,仍取為點(diǎn)的斜率,但取為在區(qū)間上某一點(diǎn)的斜率

10、,記這一點(diǎn)為即其中,即步長取為時(shí)的Euler公式。最后,取平均斜率 。則有如下的計(jì)算公式 (6.2.1進(jìn)一步,確定3個(gè)待定系數(shù),使公式具有2階精度。我們同樣使用Taylor級數(shù)展開的方法。方程,記為,則記 (二元函數(shù)Taylor展開,取前2項(xiàng)則 (由局部性假設(shè))對照 欲使 只要在三個(gè)參數(shù)中自定一個(gè),再用上式解出其余二個(gè),則就是一個(gè)具體的Runge-Kutta法的2階公式。故6.2.1是一簇公式。例如,取,則,此時(shí)所得公式就是改正的Euler公式。3. 3階Runge-Kutta法在2階Runge-Kutta法中,所取2點(diǎn)為 。在上再多取一點(diǎn) ,這里記為這三點(diǎn)上函數(shù)的斜率,則取作為平均斜率。則可

11、設(shè)定下列形式的三階公式確定待定參數(shù),使公式具有3階精度。這里的計(jì)算中用到二階Runge-Kutta公式。類似2階Runge-Kutta法,但是推導(dǎo)過程要復(fù)雜一些,最后可得只要給出7個(gè)參數(shù)中的2個(gè),再由以上式子解出剩下的5個(gè),就得到一個(gè)具體的3階Runge-Kutta公式。故以上公式是一簇公式。下列公式是三階公式中的一個(gè)典型例子:4. 4階Runge-Kutta法4階Runge-Kutta法的推導(dǎo)過程更加復(fù)雜,這里給出4階的一個(gè)經(jīng)典公式:因?yàn)槭?階公式,故其局部截?cái)嗾`差為。§4 一些計(jì)算例子例1 分別用Euler公式,改進(jìn)的Euler公式,經(jīng)典4階Runge-Kutta公式計(jì)算一階常微

12、分方程初值問題并與準(zhǔn)備解比較。解:Euler公式, 改進(jìn)的Euler公式取步長, 經(jīng)典4階Runge-Kutta公式取步長。Euler公式:改進(jìn)的Euler公式:4階Runge-Kutta公式:計(jì)算結(jié)果見下表:XEuler公式改進(jìn)Euler公式4階R-K公式準(zhǔn)確值0.01.00001.00001.00001.00000.11.10001.09591.09540.21.19181.18411.18321.18320.31.27741.26621.26490.41.35821.34341.34171.34160.51.43511.41641.41420.61.50901.48601.48331.48320.71.58031.55251.54920.81.64981.61531.61251.61250.91.71781.67821.67331.01.78481.73791.73211.7321對這一問題,4階R-K公式的效果是很好的。§5 收斂性與穩(wěn)定性的討論§6 高階常微分方程和方程組的數(shù)值求解§7 邊值問題的數(shù)值求解練習(xí)題1 對,分別導(dǎo)出Euler公式和改進(jìn)的Euler公式的近似解表達(dá)式,并與準(zhǔn)確解相比較。2分別用Euler公式和改進(jìn)的Euler公式求解取步長,并與準(zhǔn)確解相比較。3分別用Euler公式和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論