常微分方程欧拉算法

常微分方程欧拉算法
常微分方程欧拉算法

常微分方程欧拉算法 Prepared on 22 November 2020

常微分方程欧拉算法

摘要:本文主要论述了常微分方程的欧拉算法的算法原理,误差分析,实例,程序,以及算法比较等内容。

关键词:常微分方程 显式欧拉法 隐式欧拉法

引言:微分方程初值问题模型是常见的一类数学模型。对于一些简单而典型的微分方程模型,譬如线性方程、某些特殊的一阶非线性方程等是可以设法求出其解析解的,并有理论上的结果可资利用。但在数学建模中碰到的常微分方程初值问题模型,通常很难,甚至根本无法求出其解析解,而只能求其近似解。因此,研究其数值方法,以便快速求得数值鳃有其重大意义。

一、欧拉算法原理

对于微分方程初值问题

的解在xy 平面上是一条曲线,称为该微分方程的积分曲线。积分曲线上一点(),x y 的切线斜率等于函数f 在点(),x y 的值,从初始点()000,P x y 出发,向该点的切线方向推进到下一个点()111,P x y ,然后依次做下去,得到后面的未知点。一般地,若知道(),n n n P x y 依上述方法推进到点()111,n n n P x y +++,则两点的坐标关系为:

这种方法就是欧拉(Euler )方法(也叫显式欧拉法或向前欧拉法)。当初值0y 已知,则n y 可以逐步算出 对微分方程()=x y dy f dx

,从n x 到1n x +积分,那么有 现在用左矩形公式()(),n n hf x y x 代替()()1

,n n x x f t y t dt +?,n y 代替()n y x ,1n y +代替()

1n y x +就得到了欧拉方法。如果用右矩形公式()()11,n n hf x y x ++去代替右端积分,则得到另外一

个公式,该方法就称为隐式欧拉法(或后退欧拉法),其公式为

欧拉公式与隐式欧拉公式的区别在于欧拉公式是关于1n y +的一个直接计算公式,然而隐式欧拉公式右端含有1n y +,所以它实际上是关于1n y +的一个函数方程。

二、实例

例 取h=,用Euler 方法解

解 如果用Euler 法,代入得

MATLAB 绘制图像如下:

三、误差分析

初值问题的单步法可以写成如下统一形式

其中?和f 有关,若?中不含1n y +,则方法是显式的,否则是隐式的,所以一般显示单步法表示为:

例如在Euler 方法中,有()(),,,x y h f x y φ=,对于不同的方法中,计算值1n y +与准确值()n y x 的误差各不相同。所以有必要讨论方法的截断误差,我们称()n n n e y x y =-为某一方法在n x 点的整体截断误差。显然,n e 不但与n x 这步的计算有关,所以误差被称为整体的。分析和估计整体截断误差n e 是复杂的,为此,我们假设n x 处的1n y +没有误差,即()n n y y x =,考虑从n x 到1n x +这一步的误差,这就是如下的局部误差的概念。()()()()()1111,,,,n n n n n n n T y x y x h x x y x y x h φ++++=--为单步法的局部截断误差。

四、算法程序

现用matlab 编程,程序如下

f .m

function f=f(x,y)

f=-y+x+1;

>>[x,y]=myeuler('f',0,1,1); %利用程序求解方程

>> y1=x+exp(-x); %方程f=-y+x+1的精确解

>>plot(x,y,'-b',x,y1,'-r') %在同一图窗将欧拉法解和精确解的图画出 >> legend('欧拉法','精确解')

五、算法比较

,,11)(0=+-=y y x y x f

由表可以看出:当A≤0.1时,欧拉法稳定,欧拉预测校正法也稳定。当h=O.2时,欧拉法和欧拉预测校正法都不稳定,计算结果严重偏离精确法。要想计算结果充分接近于解析解还需取较小的h值,可以看出,h越小,计算结果越好。对于梯形法,理论上讲对于任何五值都稳定,但明显看出,要保证有较高的精度,也必须取较小的办值。另外,由表可见,两个二阶方法精度也较高。

结论:将数值解和解析解进行比较,很容易对欧拉法的三种不同算法的精度进行比较,其中改进欧拉法在这三种近似数值法的精度是最高的。欧拉法的数值求解不仅减小了数值计算的工作强度,而且提高了它的运算速度。这种方法对常微分方程初值问题的近似值求解和理论分析均具有一定的参考价值。

参考文献:

[1]徐萃徽。孙绳武,计算方法引论(第二版)北京:高等教育出版社,2002.1

[2]冯康.数值计算方法口订]杭州:浙江大学出版社,2003

[3]胡健伟汤怀民.微分方程数值解法(第二版).北京;科学出版社.2007

[4]蔡大用擞值分析与实验呻】.北京:清华大学出版社,2001

[5]李立康,於祟华,朱政华.微分方程数值解法[M】.上海:复旦大学出版社,1999

[6]C.w|吉尔常微分方程初值问题的数值解法【M】.费景高译.北京;科学出版社,1978

相关主题
相关文档
最新文档