常微分方程數(shù)值解法的誤差分析_第1頁
常微分方程數(shù)值解法的誤差分析_第2頁
常微分方程數(shù)值解法的誤差分析_第3頁
常微分方程數(shù)值解法的誤差分析_第4頁
常微分方程數(shù)值解法的誤差分析_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、淮北師范大學(xué) 2013屆學(xué)士學(xué)位論文 常微分方程數(shù)值解法的誤差分析學(xué)院、專業(yè) 數(shù)學(xué)科學(xué)學(xué)院 數(shù)學(xué)與應(yīng)用數(shù)學(xué)研 究 方 向 計(jì)算數(shù)學(xué) 學(xué) 生 姓 名 李 娜 學(xué) 號 指導(dǎo)教師姓名 陳 昊 指導(dǎo)教師職稱 講 師 年 月 日常微分方程數(shù)值解法的誤差分析李 娜(淮北師范大學(xué)數(shù)學(xué)科學(xué)學(xué)院,淮北,)摘 要 自然界與工程技術(shù)中的很多現(xiàn)象,往往歸結(jié)為常微分方程定解問題。許多偏微分方程問題也可以化為常微分方程問題來近似求解。因此,研究常微分方程的數(shù)值解法是有實(shí)際應(yīng)用意義的。數(shù)值解法是一種離散化的數(shù)學(xué)方法,可以求出函數(shù)的精確解在自變量一系列離散點(diǎn)處的近似值。隨著計(jì)算機(jī)計(jì)算能力的增強(qiáng)以及數(shù)值計(jì)算方法的發(fā)展,常微分方

2、程的數(shù)值求解方法越來越多,比較成熟的有Euler法、后退Euler法、梯形方法、RungeKutta方法、投影法和多步法,等等本文將對這些解的誤差進(jìn)行分析,以求能夠得到求解常微分?jǐn)?shù)值解的精度更好的方法。關(guān)鍵詞: 常微分方程, 數(shù)值解法, 單步法, 線性多步法, 局部截?cái)嗾`差 Error Analysis of Numerical Method for Solving theOrdinary Differential EquationLi Na(School of Mathematical Science, Huaibei Normal University, Huaibei, )Abstrac

3、tIn nature and engineering have many phenomena , definite solution of the problem often boils down to ordinary differential equations. So study the numerical solution of ordinary differential equations is practical significance. The numerical method is a discrete mathematical methods, and exact solu

4、tion of the function can be obtained in the approximation of a series of discrete points of the argument.With the enhanced computing power and the development of numerical methods,ordinary differential equations have more and more numerical solution, there are some mature methods. Such as Euler meth

5、od, backward Euler method, trapezoidal method, Runge-Kutta method, projection method and multi-step method and so on. Therefore, numerical solution of differential equation is of great practical significance. Through this paper, error of these solutions will be analyzed in order to get a the accurac

6、y better way to solve the numerical solution of ordinary differential.Keywords: Ordinary differential equations, numerical solution methods, single step methods, linear multi-step methods, local truncation error 目 錄引 言1一、常微分方程11、定義12、常微分方程初值問題描述23、數(shù)值解法的基本思想與途徑24、數(shù)值解的分類35、問題(1)解的存在惟一性定理4二、幾種常用的數(shù)值解法及其

7、誤差分析41、單步法4(一)、歐拉法5(二)、向后EuIer方法6(三)、法7(四)、改進(jìn)歐拉法7(五)RungeKutta方法92、 線性多步法14總結(jié)16參考文獻(xiàn):17引 言自然界中很多事物的運(yùn)動規(guī)律可用微分方程來刻畫。常微分方程是研究自然科學(xué)和社會科學(xué)中的事物、物體和現(xiàn)象運(yùn)動、演化和變化規(guī)律的最為基本的數(shù)學(xué)理論和方法。物理、化學(xué)、生物、工程、航空航天、醫(yī)學(xué)、經(jīng)濟(jì)和金融領(lǐng)域中的許多原理和規(guī)律都可以描述成適當(dāng)?shù)某N⒎址匠蹋虼?,常微分方程的理論和方法不僅廣泛應(yīng)用于自然科學(xué),而且越來越多的應(yīng)用于社會科學(xué)的各個領(lǐng)域。由于該問題比較復(fù)雜且涉及的面廣,使得有些問題的解析解很難求出,而對于一些典型的微

8、分方程(如線性方程、某些特殊的一階非線性方程等)可以運(yùn)用基本方法求出其解析解,并在理論上可以根據(jù)初值問題的條件把其中的任意常數(shù)完全確定下來。然而,在生產(chǎn)實(shí)際和科學(xué)研究中所遇到的微分方程往往很復(fù)雜,在很多情況下都不可能給出解的解析表達(dá)式,有時(shí)即使能求出形式的解,也往往因計(jì)算量太大而不實(shí)用,而且高次代數(shù)方程求根也并不容易,所以用求解析解的方法來計(jì)算微分方程的數(shù)值解往往是不適宜的。從實(shí)際意義來講我們更關(guān)心的是某些特定的自變量在某一個定義范圍內(nèi)的一系列離散點(diǎn)上的近似值。本文研究的主要是針對常微分方程各種數(shù)值解法的誤差進(jìn)行分析。一、常微分方程1、定義首先,我們在這部分給出所需的一些基本概念和基本知識。我

9、們已經(jīng)知道微分方程就是聯(lián)系著自變量、未知函數(shù)以及其導(dǎo)數(shù)的關(guān)系式。如果在微分方程中,自變量的個數(shù)只有一個,我們稱這種微分方程為常微分方程。方程 就是常微分方程的例子,這里y是未知函數(shù),t是自變量。微分方程中出現(xiàn)的未知函數(shù)最高階導(dǎo)數(shù)的階數(shù)稱為微分方程的階數(shù)。2、常微分方程初值問題描述在自然科學(xué)和經(jīng)濟(jì)的許多領(lǐng)域中,常常會遇到一階常微分方程的初值問題 (1)這里 是充分光滑,即關(guān)于或滿足李普希茨條件的二元函數(shù),是給定的初值,稱為初始條件。3、數(shù)值解法的基本思想與途徑一階微分方程的初值問題(1)的解是區(qū)間上的連續(xù)變量的函數(shù),因而問題(1)實(shí)際上是一個連續(xù)性的問題,求這個問題的數(shù)值解,就是要求在區(qū)間上的若

10、干個離散點(diǎn)處的函數(shù)近似值,例如:,然后計(jì)算出解的近似值.一般常取為等距離的點(diǎn),即或 稱為步長。建立數(shù)值方法的第1步,就是把連續(xù)性問題(1)通過一定的方法化為在給定的個點(diǎn)上的近似的差分方程的初值問題,稱這個過程為離散化。常用離散化的方法如下:(一)用差商替代導(dǎo)數(shù)在點(diǎn)處的導(dǎo)數(shù)可以近似地表示成差商從而把初值問題(1)化為差分問題 (2)其中表示解在點(diǎn)處的近似解,即。當(dāng)然,用差商來近似地表示導(dǎo)數(shù),方法不是唯一的,這里所用的是所謂的向前差商。(二)Taylor展開法在一點(diǎn)(例如點(diǎn))的附近,的同次數(shù)的近似多項(xiàng)式中的Taylor多項(xiàng)式 為最好。其中為一正整數(shù)。通過微分方程,便可以逐次把各階導(dǎo)數(shù)在處的值表示出

11、來。(三)數(shù)值積分法對微分方程在區(qū)間上求積分,得 于是,初值問題(1)便可以近似地化為這樣,關(guān)于上式右端的積分,可以用數(shù)值積分方法計(jì)算其近似值。4、數(shù)值解的分類常微分方程初值問題的數(shù)值解法一般分為兩大類:單步法:所謂單步法是指這類方法在計(jì)算時(shí),只用到前一步的值然后逐步往下計(jì)算。這個算法的代表是龍格-庫塔算法,簡稱RK方法。四階顯示Runge-Kutta方法是求解普通常微分方程初值問題數(shù)值解法中的重要方法,而隱式Runge-Kutta公式是求解剛性常微分方程初值問題的重要方法。多步法:這類方法在計(jì)算時(shí),除了用到前一步的值之外,還要用到這前面步的值,這個算法的代表就是阿達(dá)姆斯(Adams)方法。5

12、、問題(1)解的存在惟一性定理一個常微分方程是不是有特解呢?如果有,又有幾個呢?這是微分方程論中一個基本的問題,數(shù)學(xué)家把它歸納成基本定理,叫做存在和唯一性定理。因?yàn)槿绻麤]有解,而我們要去求解,那是沒有意義的;如果有解而又不是唯一的,那又不好確定。因此,存在和唯一性定理對于微分方程的求解是十分重要的。這個重要的存在和唯一性就是下面列出的著名的存在惟一性定理。定理 如果在帶形區(qū)域中連續(xù),且關(guān)于y滿足Lipchiz條件:即存在正常數(shù)L,使得 對所有的以及任何都成立,那么初值問題(1)存在惟一的連續(xù)可微解。二、幾種常用的數(shù)值解法及其誤差分析 首先來了解下初值問題數(shù)值解中最簡單的一種方法歐拉法。1、單步

13、法Euler折線法發(fā)生的歷史背景。在微分方程研究之初,瑞士數(shù)學(xué)家LEuler(1707.4-1783.9)做出了開創(chuàng)性的工作。他和其他一些數(shù)學(xué)家在解決力學(xué)、物理學(xué)問題的過程中創(chuàng)立了微分方程這門學(xué)科。在常微分方程方面,Euler在1743年發(fā)表的論文中,用代換擴(kuò)給出了任意階常系數(shù)線性微分方程的古典解法,最早引入了“通解”和“特解的概念。1768年,Euler在其有關(guān)月球運(yùn)行理論的著作中,創(chuàng)立了廣泛用于求初值問題(1)的數(shù)值解的方法,次年又把它推廣到二階方程。歐拉的想法如下:選擇步長,然后在情況下用解函數(shù)的切線 代替解函數(shù)。這樣對于點(diǎn)就可以得到 在點(diǎn)重復(fù)如上的程序再次計(jì)算新的方向,就會得到所謂的遞

14、推公式:,這就是Euler方法。由此,再通過連接所有這些切線得到的函數(shù)被稱為Euler折線。如果我們令,這些折線就會越來越接近解函數(shù)。 (一)、歐拉法Euler方法是最簡單的一步法,它是一階的,精度較差,但公式很簡單,即 (3)Euler方法的幾何意義在數(shù)值計(jì)算思想中已經(jīng)體現(xiàn)出來了,實(shí)際上就是用過已知點(diǎn)的折線來近似代替過此點(diǎn)的積分曲線。因此,這種方法又稱為折線法。在Euler法中,數(shù)值解的誤差首先是由差商代替導(dǎo)數(shù)引起的,這種近似替代所產(chǎn)生的誤差稱為截?cái)嗾`差。另外,計(jì)算過程中還會由于數(shù)值的舍入產(chǎn)生另一種誤差舍入誤差。顯然只有當(dāng)初產(chǎn)生的誤差在以后各步的計(jì)算中不會無限制擴(kuò)大時(shí),即當(dāng)初始誤差充分小時(shí),

15、以后各步的誤差也可以充分小,Euler法才具有實(shí)用價(jià)值。收斂性、截?cái)嗾`差估計(jì)與穩(wěn)定性悶題是常微分方程各種數(shù)值解法研究中必須考慮的基本問題。顯然這些問題在Euler法中是得到驗(yàn)證的,詳見下面例子分析。 在平面上,微分方程(1)的解y=y(x)稱作它的積分曲線。積分曲線上一點(diǎn) 線斜率等于函數(shù)的值,如果按函數(shù)在平面上建立一個方向場,那么,積分曲線上每一點(diǎn)的切線方向均與方向場在該點(diǎn)的方向相一致,基于上述幾何解釋,從初始點(diǎn)出發(fā),先依方向場在該點(diǎn)的方向推進(jìn)到上一點(diǎn),然后再從依方向場的方向推進(jìn)到上一點(diǎn),循此前進(jìn)推出一條折線,一般地,設(shè)已做出該折線的頂點(diǎn),過依方向場的方向再推進(jìn)到,顯然兩個頂點(diǎn),的坐標(biāo)有關(guān)系即

16、 (4)這就是著名的歐拉(Euler)公式。若初值已知,則依公式(4)可逐步算出例1 求解初值問題 (5)解 歐拉公式的具體形式為取步長,計(jì)算結(jié)果如下表:表1 計(jì)算結(jié)果對比0.10.20.30.40.51.10001.19181.27741.35821.43511.09541.18321.26491.34161.41420.60.70.80.91.01.50901.58031.64981.71781.78481.48321.54921.61251.67331.7321初值問題(2.1.2)有解,按這個解析式子算出的準(zhǔn)確值同近似值一起列在表1, 兩者相比較可以看出歐拉方法的精度很差。(二)、向后

17、EuIer方法向后Euler方法和Euler方法差不多,只是把用 去代替,這時(shí)計(jì)算公式為 (6)向后Euler方法的總體截?cái)嗾`差也是一階的,因此向后Euler方法是收斂的。這里需要指出它與Euler方法的一個很大不同之處,Euler方法是顯式方法,即由明顯地表示出來了,而向后Euler方法是隱式方法,計(jì)算時(shí)要解隱式方程(6)。通常解此方程用迭代法。因此計(jì)算較為麻煩,但比顯式Euler方法精度要高。(三)、法將Euler方法公式與向后Euler方法公式作加權(quán)平均,得到如下公式: (7)稱式(7)為初值問題(1)的法公式。其中如為初值條件。在此法中當(dāng)時(shí),即 (8)此時(shí)的法稱為梯形公式法。梯形公式也

18、隱式格式,用起來要進(jìn)行迭代,其計(jì)算公式為 (9)這里在應(yīng)用本迭代法時(shí),是先用Euler方法求初值的近似值即: 然后將替代梯形公式(8)中的得到的式(9)。式(9)又稱為預(yù)測校正公式。換言之,由Euler方法給出預(yù)測值,再用梯形法予以校正。很顯然,當(dāng)步長辦取得適當(dāng)小時(shí),由Euler方法算出的值已是較好的近似。格式(9)收斂很快,通常只需一兩次迭代即可滿足精度要求,若需多次迭代,則應(yīng)縮小步長后再行計(jì)算。梯形公式法比用向后Euler方法的迭代步長可以放寬一倍,它的總體截?cái)嗾`差為,比Euler方法高一階。但它每積分一步要計(jì)算二次函數(shù)值,這說明的精度的提高是以增加計(jì)算量為代價(jià)的。(四)、改進(jìn)歐拉法為得到

19、比歐拉法精度高的計(jì)算公式,在等式如果對方程(1)從到積分,得 (10)右端積分中若用梯形求積公式近似,并用代替,代替,則得 (11)稱為改進(jìn)歐拉法改進(jìn)歐拉方法是隱式單步法,可用迭代法求解用歐拉方法提供迭代初值,則改進(jìn)歐拉法的迭代公式為 (12)為了分析迭代過程的收斂性,將(11)式與(10)相減,得 ,于是有 ,式中為對y滿足Lipschitz常數(shù),如果選取h充分小,使得,則當(dāng)時(shí)有,這說明迭代過程(12)是收斂的例2用改進(jìn)的歐拉方法求解初值問題(1)解改進(jìn)的歐拉公式為仍取,計(jì)算結(jié)果見下表同例1中歐拉法的計(jì)算結(jié)果比較,改進(jìn)歐拉法明顯改善了精度表2 計(jì)算結(jié)果對比0.10.20.30.40.51.0

20、9591.18411.26621.34341.41641.09541.18321.26491.34161.41420.60.70.80.91.01.48601.55251.61531.67821.73791.48321.54921.61251.67331.7321(五)RungeKutta方法德國數(shù)學(xué)家CDTRunge(18561927)是數(shù)值方法發(fā)展史上具有里程碑作用的人物。1895年,他在Hanover發(fā)表了關(guān)于微分方程數(shù)值解法的經(jīng)典論文常微分方程數(shù)值解法。此文成為常微分方程RungeKutta方法的發(fā)端。此后,Runge結(jié)合教學(xué)活動積極投身于發(fā)展一般的數(shù)值分析特別是各種實(shí)際應(yīng)用中的Run

21、geKutta方法(嚴(yán)格來說,此方法在Kutta作出工作后才能稱作RungeKutta方法)。RungeKutta方法是一種特殊的單步方法,事實(shí)上,這個方法可以看作在上取若干條積分曲線的若干個點(diǎn)的切線斜率,再進(jìn)行一次(或多次)算術(shù)(或加權(quán))平均后產(chǎn)生的新斜率,再按這個斜率從出發(fā),以直線帶曲線向前推進(jìn)一步的過程。與Taylor展示法相比,RungeKutta方法不用增加微商的次數(shù)就可以得到較高的階。Runge一Kutta方法除了在微分方程求解中扮演的傳統(tǒng)角色外,人們發(fā)現(xiàn)相關(guān)類型的初值問題可以用Runge一Kutta方法或適合更一般問題的RungeKutta方法求解,比如RungeKutta方法被

22、應(yīng)用到了Hamilton系統(tǒng)中。前面提到的幾種數(shù)值解法的精度是很低的,下面給出高階一步法RungeKutta方法。它是最常用的一種數(shù)值解法,因?yàn)樗喈?dāng)精確、穩(wěn)定、容易編程。RungeKutta方法至今仍然得到廣泛地應(yīng)用。、二級二階RungeKutta方法由RungeKutta方法的思想,我們得到二階RungeKutta公式為 (13) (14)RungeKutta公式是在計(jì)算兩次函數(shù)值的情況下,局部截?cái)嗾`差的階最高是3,式(13)是允許函數(shù)任意變化情況下截?cái)嗾`差最小的二階方法。要再提高階就必須增加計(jì)算函數(shù)值的次數(shù)。上述式(14)又稱為歐拉預(yù)估校正公式。、三級三階RungeKuuta方法兩個常用

23、的三階RungeKuuta方法分別為: (15) (16)這兩個常用方法在解決實(shí)際問題中能夠達(dá)到較低的精度要求。但是要更高精度要求的,我們必須了解更高階的方法一四級四階RungeKuuta方法。、 四級四階RungeKutta方法這種方法在解決實(shí)際問題中常用。在這里,我們將公式進(jìn)行導(dǎo)出,以熟悉其方法的實(shí)用過程。由于RungeKutta公式對初值問題(1)中的一般都適用,則它必然對特殊的,或也適用。從而可以定出特定的參數(shù)來,因此,這里采用的是一種待定系數(shù)法,來導(dǎo)出四級四階顯式RungeKutta公式,過程十分簡單明了。為了計(jì)算簡單,令 近似值為,這樣求解問題(1)的四階顯示Runge一Kutta

24、公式為 (17) 這里要求 (18)由于RungeKutta公式的思想與數(shù)值積分 (19)相似。所以希望四階顯示RungeKutta公式對 (20)是精確的。這樣,將(17)式應(yīng)用于(19)式,就有 與Taylor公式 (21)相比較,有 又由于RungeKutta公式(17)中既要反映的變化,又要反映的變化,所以簡單的選取為一對線性函數(shù),這樣將(13)式用于 (22)得 (23) 對(22)式求導(dǎo)數(shù)有 將上兩式代入(23)式并與Taylor公式(21)比較有: 于是總結(jié)有如下四階RungeKutta一般顯格式中13個參數(shù)所滿足的11個參數(shù)方程 (24)于是經(jīng)典的四階顯示RungeKutta公

25、式為 (25)四階RungeKutta方法中比較常用的顯格式為經(jīng)典的公式(25),也是根據(jù)上述參數(shù)方程(24)來確定一般格式中的參數(shù)所得到的。因?yàn)轱@格式(17)共有13個參數(shù),而總計(jì)11個參數(shù)方程,由解的判定定理知,此方程(24)有無窮多個解,從而有四階RungeKutta方法中的顯格式不是唯一的。我們可以嘗試推出新算法,但目前為止這個算法是最實(shí)用的。RungeKutta方法作為最重要的單步方法,是一類具有相當(dāng)實(shí)用價(jià)值的方法。它關(guān)于初值是穩(wěn)定的,其解連續(xù)地依賴于初值它是一類便于應(yīng)用的單步方法,為了計(jì)算,只用到前一步的值即可,因此每步的步長可以獨(dú)立取定,可以按照絕對穩(wěn)定性、精度等項(xiàng)要求隨時(shí)更換。

26、常用的RungeKutta方法精度較高,為了達(dá)到預(yù)定的精度,與Euler方法和梯形法相比,步長辦可取得大一些,求解區(qū)間上的總步數(shù)可以少一些。但RungeKutta方法也有一些缺點(diǎn),比如四階RungeKutta方法每算一步需四次計(jì)算的值,計(jì)算量較大(對于較復(fù)雜的而言)。 2、 線性多步法在逐步推進(jìn)的求解過程中,計(jì)算之前事實(shí)上已經(jīng)求出了一系列的近似值,如果充分利用前面多步的信息來預(yù)測,則可以期望會獲得較高的精度這就是構(gòu)造所謂線性多步法的基本思想構(gòu)造多步法的主要途徑是基于數(shù)值積分方法和基于泰勒展開方法,前者可直接由方程(1)兩端積分后利用插值求積公式得到一般的線性多步法公式可表示為 , (26)其中為的近似,為常數(shù),不全為零,則稱(26)為線性步法,計(jì)算時(shí)需先給出前面?zhèn)€近似值再由(26)逐次求出如果,稱(26)為顯式步法,這時(shí)可直接由(26)算出;如果,則(26)稱為隱式步法,求解時(shí)與改進(jìn)歐拉法相同,要用迭代法方可算出,(26)中系數(shù)可根據(jù)方法的局部截?cái)嗾`差及階確定,其定義為:設(shè)是初值問題(1),(2)的準(zhǔn)確解。阿當(dāng)姆斯顯式與隱式公式考慮形如,(27)的步法,稱為阿當(dāng)姆斯(Admas)方法為顯式方法,亦稱Adams-Bashforth公式;為隱式方法,亦稱Adams-Monlton公式,直接由方程(1)兩端從到積分求得。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論