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

时间:2024-05-22 09:50:03

        上一节讲了 常微分方程的三种离散化 方法:差商近似导数、数值积分、Taylor 多项式近似


目录

  §2 欧拉(Euler)方法

 2.1 向前 Euler 公式、向后 Euler 公式                  2.2 Euler 方法的误差估计

§3 改进的 Euler 方法

3.1 梯形公式               3.2 改进 Euler 法



  §2 欧拉(Euler)方法

 2.1 向前 Euler 公式、向后 Euler 公式

Euler 方法就是用差分方程初值问题(3)的解来近似微分方程初值问题(1)的解, 即由公式(3)依次算出 常微分方程的解法 (二): 欧拉(Euler)方法 的近似值  常微分方程的解法 (二): 欧拉(Euler)方法 。这组公式求问题(1)的数值 解称为向前 Euler 公式。

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

2.2 Euler 方法的误差估计

对于向前 Euler 公式(3)我们看到,当n = 1,2,....时公式右端的 常微分方程的解法 (二): 欧拉(Euler)方法 都是近似的, 所以用它计算的 常微分方程的解法 (二): 欧拉(Euler)方法会有累积误差,分析累积误差比较复杂,这里先讨论比较简单的 所谓局部截断误差。

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

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

显然 p 越大,方法的精度越高。式(9)说明,向前 Euler 方法是一阶方法,因此 它的精度不高。

§3 改进的 Euler 方法

3.1 梯形公式

利用数值积分方法将微分方程离散化时,若用梯形公式计算式(4)中之右端积分, 即

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

这就是求解初值问题(1)的梯形公式。

直观上容易看出,用梯形公式计算数值积分要比矩形公式好。梯形公式为二阶方法。 梯形公式也是隐式格式,一般需用迭代法求解,迭代公式为

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

如果实际计算时精度要求不太高,用公式(10)求解时,每步可以只迭代一次,由此导 出一种新的方法—改进 Euler 法。

3.2 改进 Euler 法

按式(5)计算问题(1)的数值解时,如果每步只迭代一次,相当于将 Euler 公式 与梯形公式结合使用:先用 Euler 公式求 常微分方程的解法 (二): 欧拉(Euler)方法 的一个初步近似值 常微分方程的解法 (二): 欧拉(Euler)方法 ,称为预测值,然 后用梯形公式校正求得近似值 常微分方程的解法 (二): 欧拉(Euler)方法 ,即

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

式(11)称为由 Euler 公式和梯形公式得到的预测—校正系统,也叫改进 Euler 法

为便于编制程序上机,式(11)常改写成

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

改进 Euler 法是二阶方法。


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

常微分方程的解法 (一): 常微分方程的离散化 :差商近似导数、数值积分方法、Taylor 多项式近似

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

常微分方程的解法 (三): 龙格—库塔(Runge—Kutta)方法 、线性多步法

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