基于欧拉方法求解微分方程初值问题
Solving Initial Value Problems of Differential Equations Based on Euler Method
DOI: 10.12677/PM.2021.118167, PDF, HTML, XML, 下载: 553  浏览: 3,303 
作者: 霍俊蓉:沈阳师范大学,数学与系统科学学院,辽宁 沈阳;张荣培:广东工业大学,应用数学学院,广东 广州
关键词: 微分方程数值解法初值问题改进欧拉法Differential Equation Numerical Solution Initial Value Problem Improved Euler Method
摘要: 微分方程在数学实际应用以及物理、化学、生物等众多领域中被应用得十分广泛。欧拉法是求解微分方程最基本、最常用的方法,而改进欧拉法则是在欧拉法的基础上进行相应的改进而形成的方法。本文对比关于欧拉法的三种方法近似解与精确解的关系,并根据其具体计算结果进行对比,得到改进欧拉法的计算效率更高、精度更高。
Abstract: Differential equations are widely used in many fields such as mathematics, physics, chemistry, bi-ology and so on. Euler method is the most basic and commonly used method to solve differential equation, and the improved Euler method is a method based on the corresponding improvement of Euler method. In this paper, the relationship between the approximate solution and the exact solution of the three Euler methods is compared, and according to the specific calculation results, the improved Euler method is more efficient and more accurate.
文章引用:霍俊蓉, 张荣培. 基于欧拉方法求解微分方程初值问题[J]. 理论数学, 2021, 11(8): 1488-1492. https://doi.org/10.12677/PM.2021.118167

1. 引言

目前,在科学工程技术及自然科学领域中,很多问题都可以用常微分方程的初值问题来解决。微分方程逐渐随着微积分学一起发展起来,不仅在解决与导数有关的问题中发挥重要的作用,而且在物理学中许多涉及变力的运动学 [1]、动力学 [2] 问题,如空气的阻力为速度函数的落体运动等问题,以及航空航天、工程学、天文学等领域建立模型 [3] [4] [5] [6] 中都有十分广泛的应用。但是,只有少数简单的微分方程可以求得精确解。在无法求得精确解时,可以通过求出近似解的方式代替这些精确解,以此达到解决这些实际问题的目的,而这种求出近似解的方法,便是微分方程的初值解法,有一定的有效性且有一定的准确度 [7]。

近年来,微分方程初值问题的基本数值方法被应用得越来越广泛,包括欧拉法,后退欧拉法,梯形方法以及改进的欧拉方法等。其中欧拉法是求解常微分方程中最基本、最常用的方法,而改进欧拉法则是在欧拉法的基础上进行相应的改进而形成的方法。本文针对具体的数值算例对基于欧拉法三种基本的数值方法所求出的近似解与精确解的关系进行分析。得到改进的欧拉法相对于其他两种数值方法,不仅计算精度高,而且更加稳定,可以提高计算效率。

2. 数值方法

本文考虑具有如下初值问题的微分方程:

{ d y d x = f ( x , y ) , x [ x 0 , b ) , y ( x 0 ) = y 0 . (1)

首先对(1)式进行离散化,定义离散节点为 x n = x 0 + n h n = 0 , 1 , 2 , ,其中 h = x n + 1 x n 为等距步长。通过数值方法求得微分方程的精确解,记为 y ( x i ) i = 1 , 2 , , n , n + 1 , 。在离散节点 x 1 , x 2 , , x n , x n + 1 , 上的近似值记为 y i i = 1 , 2 , , n , n + 1 , 。对于常微分方程初值求解问题来说,无论是常规欧拉法还是改进后的欧拉法,都是通过数值积分方法来实现离散化处理的。

2.1. 欧拉法

对常微分方程(1)式中的导数用均差近似,即

y ( x n + 1 ) y ( x n ) h y ( x n ) = f ( x n , y ( x n ) ) , n = 0 , 1 , 2 , . (2)

进而得到形如下式的欧拉法公式,即

{ y n + 1 = y n + h f ( x n , y n ) , n = 0 , 1 , 2 , , y ( x 0 ) = y 0 . (3)

若对微分方程(1)式从 x n x n + 1 积分,则有

y ( x n + 1 ) = y ( x n ) + x n x n + 1 f ( t , y ( t ) ) d t , (4)

其中右端积分以左矩形公式 h f ( x n , y ( x n ) ) 近似,左端第一项以 y n 代替,并以 y n + 1 代替 y ( x n + 1 ) 也可得到欧拉法公式,即(3)式。

由于其初值 y 0 已知,则由(3)式可以逐次循环计算得到

y 1 = y 0 + h f ( x 0 , y 0 ) , y 2 = y 1 + h f ( x 1 , y 1 ) , y n = y n 1 + h f ( x n 1 , y n 1 ) , (5)

下面利用泰勒展开将 y ( x n + 1 ) x n 处展开,则有

y ( x n + 1 ) = y ( x n + h ) = y ( x n ) + y ( x n ) h + h 2 2 y ( ζ n ) , ζ ( x n , x n + 1 ) (6)

由于在 y n = y ( x n ) 的前提下,有 f ( x n , y n ) = f ( x n , y ( x n ) ) = y ( x n ) 。进而可以得到欧拉法的局部截断误差为

y ( x n + 1 ) y n + 1 = h 2 2 y ( ζ n ) h 2 2 y ( x n ) . (7)

欧拉法的局部截断误差也可以表示为 O ( h 2 )

2.2. 后退欧拉法

下面将(4)式中的右端积分以右矩形公式 h f ( x n + 1 , y ( x n + 1 ) ) 近似,则可得到

y n + 1 = y n + h f ( x n + 1 , y n + 1 ) . (8)

上式即为后退的欧拉法;由于欧拉法是关于 y n + 1 的一个直接的计算公式,被称为是显式的;然而(8)式右端中含有未知项 y n + 1 ,是关于 y n + 1 的一个函数方程,这类公式被称为是隐式的。因此,后退的欧拉法也被称为隐式欧拉法。其精度和欧拉法的精度基本相同,通常采用迭代法求解,而迭代过程的实质是逐步显式化 [8]。

2.3. 改进欧拉法

下面对对欧拉法进行进一步相应的改进,以提高欧拉法的求解精度。首先,利用欧拉法初步求出微分方程初值问题的一个近似值 y ¯ n + 1 ,记该值为预测值。结合梯形公式 y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y n + 1 ) ] 将其校正,进而建立如下的预测–校正系统:

{ y ¯ n + 1 = y n + h f ( x n , y n ) , y n + 1 = y n + h 2 [ f ( x n , y n ) + f ( x n + 1 , y ¯ n + 1 ) ] . (9)

上式中的预测–校正系统可表示为下列平均化形式,即为

{ y p = y n + h f ( x n , y n ) , y c = y n + h f ( x n + 1 , y p ) , y n + 1 = 1 2 ( y p + y c ) . (10)

(10)式被称为改进的欧拉公式,其局部截断误差也可以表示为 O ( h 3 )

3. 数值算例

设其计算区间为 ( 0 , 1 ) ,计算步长为 h = 0.1 ,应用本文总结的欧拉法,后退欧拉法,改进欧拉法分别求解具有如下初值问题的常微分方程:

{ d y d x = y 2 x y , x ( 0 , 1 ) , y ( 0 ) = 1.

得到的近似解与精确解的数值结果关系即如图1所示。

Figure 1. The relationship between approximate solution and exact solution obtained by different methods (a) Euler method; (b) Backward Euler method; (c) Improved Euler method

图1. 不同方法求出的近似解与精确解的关系 (a) 欧拉法;(b) 后向欧拉法;(c) 改进欧拉法

并且,将通过欧拉法与改进欧拉法计算所得到近似解的计算结果与微分方程的精确解进行对比,得到的结果如表1所示。

Table 1. Comparison between Euler method and improved Euler method

表1. 欧拉法与改进欧拉法计算结果对比

由上述结果可以看出,利用改进欧拉法求解微分方程初值问题所得到的近似解与精确解之间的误差较小,能够更加接近精确解。并且精度高,计算效率更高,使得微分方程的初值求解问题更加高效,减小了数值计算的工作强度,因此改进欧拉法更加适合计算机的计算。

4. 总结

本文针对具体的数值算例对欧拉法、后退欧拉法、改进欧拉法三种基本数值方法所求出的近似解与精确解进行对比分析。得到改进欧拉法相对于其他两种数值方法,不仅计算精度最高,而且可以提高计算效率,更加适合微分方程初值问题的求解,能够被广泛应用于各个自然科学领域。

参考文献

[1] 张玉叶, 张原园, 毛少坤, 张婷. 基于牛顿–欧拉法的人体下肢动力学分析与建模[J]. 咸阳师范学院学报, 2018, 33(4): 51-55.
[2] 李永泉, 郭雨, 张阳, 张立杰. 基于牛顿欧拉法的一种空间被动过约束并联机构动力学建模方法[J]. 机械工程学报, 2020, 56(11): 48-57.
[3] 王海花, 赵金生, 聂国权, 宋强. 欧拉法建立溜管运送混凝土流变数学模型[J]. 工程机械, 2007(4): 36-39+2-3.
[4] 白卓, 赵河明, 杨晋伟. 基于欧拉法的自寻的炮射导弹弹道建模与仿真[J]. 海军航空工程学院学报, 2020, 35(2): 189-194.
[5] 万兵兵. 基于欧拉方法的涡旋管结冰数值模拟研究[J]. 工程技术研究, 2020, 5(6): 276-277.
[6] Ahmady, N., Allahviranloo, T. and Ahmady, E. (2020) A Modified Euler Method for Solving Fuzzy Differential Equations under Generalized Differentiability. Computational and Applied Mathematics, 39, Article Number: 104.
https://doi.org/10.1007/s40314-020-1112-1
[7] 朱健生. 常微分方程初值求解中改进欧拉法研究[J]. 淮南职业技术学院学报, 2019, 19(2): 151-152.
[8] 李庆杨, 王能超, 易大义. 数值分析[M]. 第5版. 北京: 清华大学出版社, 2008.