常微分方程的解法 二 尤拉(Euler)方法

2021-09-20 09:29:52 字數 1558 閱讀 8619

上一節講了 常微分方程的三種離散化 方法:差商近似導數、數值積分、taylor 多項式近似。

目錄

§2 尤拉(euler)方法

2.1 向前 euler 公式、向後 euler 公式

2.2 euler 方法的誤差估計

§3 改進的 euler 方法

3.1 梯形公式

3.2 改進 euler 法

euler 方法就是用差分方程初值問題(3)的解來近似微分方程初值問題(1)的解, 即由公式(3)依次算出向前 euler 公式。

對於向前 euler 公式(3)我們看到,當n = 1,2,....時公式右端的

顯然 p 越大,方法的精度越高。式(9)說明,向前 euler 方法是一階方法,因此 它的精度不高。

利用數值積分方法將微分方程離散化時,若用梯形公式計算式(4)中之右端積分, 即

這就是求解初值問題(1)的梯形公式。

直觀上容易看出,用梯形公式計算數值積分要比矩形公式好。梯形公式為二階方法。 梯形公式也是隱式格式,一般需用迭代法求解,迭代公式為

如果實際計算時精度要求不太高,用公式(10)求解時,每步可以只迭代一次,由此導 出一種新的方法—改進 euler 法。

按式(5)計算問題(1)的數值解時,如果每步只迭代一次,相當於將 euler 公式 與梯形公式結合使用:先用 euler 公式求

式(11)稱為由 euler 公式和梯形公式得到的**—校正系統,也叫改進 euler 法

為便於編制程式上機,式(11)常改寫成

改進 euler 法是二階方法。

常微分方程的解法求解系列博文

常微分方程的解法 (一): 常微分方程的離散化 :差商近似導數、數值積分方法、taylor 多項式近似

常微分方程的解法 (二): 尤拉(euler)方法

常微分方程的解法 (三): 龍格—庫塔(runge—kutta)方法 、線性多步法

常微分方程的解法 (四): matlab 解法

常微分方程的數值解法系列一 常微分方程

在慣性導航以及vio等實際問題中利用imu求解位姿需要對imu測量值進行積分得到需要的位置和姿態,其中主要就是求解微分方程。但之前求解微分方程的解析方法主要是應用於一些簡單和特殊的微分方程求解中,對於一般形式的微分方程,一般很難用解析方法求出精確解,只能用數值方法求解。該系列主要介紹一些常用的常微分...

數值演算法 常微分方程的尤拉方法

數值演算法 常微分方程的尤拉方法 尤拉方法是求解常微分方程的入門級的方法,精度並不算高,但它具有較大的理論價值。一些較好的演算法,如龍格 庫塔方法等都是在這個方法的基礎上實現的。相關的理論請參考相關的數值演算法的書籍,我這裡只給出關鍵的函式及主程式段,其餘相關的細節就不再一一羅列了 void yul...

常微分方程數值解法 python實現

研究生課程 應用數值分析 結課了,使用python簡單記錄了下常微分方程數值解法。y y i h i f x i,y i y 0 y a end right y x y 1 0 leq x leq 1 y 0 1 end right yi format xi,yi xi,yi xi h,y retu...