毕 业 论 文
题 目: 常微分方程的Euler解法
及其程序设计 学 院: 数学与信息科学学院 专 业: 数学与应用数学 毕业年限: 2011年6月 学生姓名: 学 号: 指导教师:
常微分方程的Euler解法及其程序设计
摘要 本文总结了常微分方程的Euler解法,对各种格式给出了误差估计,设计了这些格式的计算程序.
关键词 常微分方程;Euler解法;误差分析;程序设计
Euler Method of Ordinary Differential Equation and Its
Programming
Abstract Euler method of ordinary differential equation is summarized,the error of each format is analyzed and its programming is designed in this paper.
Keywords Ordinary differential equation; Euler method; Error analysis; Programming
1
科学技术中常常需要求解常微分方程的定解问题,这类问题最简单的形式,即为微分方程
dy?f(x,y) (1) dx的初值问题
?dy??f(x,y), ?dx (2)
??y(x0)?y0.定理 (存在与唯一性定理)如果方程(1)的右端函数f(x,y)在闭矩形域
R:x0?a?x0?x0?a,y0?b?y0?y0?b
上满足如下条件:
(1)在R上连续;
(2)在R上关于变量y满足利普希茨(Lipschitz)条件,即存在常数L,使 对于R上任何一对点(x,y)和(x,y)有不等式:
f(x,y)?f(x,y)?Ly?y,
则初值问题(2)在区间x0?h0?x0?x0?h0上存在唯一解
y?y(x),y(x0)?y0,
其中h0?min(a,b),M?maxf(x,y).
(x,y)?RM 根据存在与唯一性定理,只要f(x,y)关于y满足Lipschitz条件
? f(x,y)f(x,y?)L?y, y即可保证其解y?y(x)存在并唯一.
然而解析方法只能用来求解少数较简单和典型的常微分方程,例如线性常系数微分方程等,对于变系数常微分方程的解析求解就比较困难,而一般的非线性常微分方程就更不用说,因此,在大多数情况下,实际问题中归结出来的微分方程主要靠数值解法求解.
所谓数值解法,就是寻找y(x)在一系列离散节点x1?x2???xn?xn?1??上
2
的近似值y1,y2,?yn,yn?1,?.相邻两个节点的间距h?xn?1?xn称为步长,假定h为定数,节点为xn?x0?nh,n?0,1,2,?.
1 Euler解法 (1)Euler格式
Euler格式的计算公式为
yn?1?yn?hf(xn,yn) (n?0,1?,2. ) 下面用4种方法推导公式(3) a 泰勒展开法
在xn处展开y(xn?1)?y(xn?h)有
y(xn?1)?yx()hy'x1'n?n(?)2!h2y'?n( )(xn??n?xn?1), 略去余项,得
y(xn?1)?y(xn)?hy'(xn)?y(xn)?hf(xn,y(xn)).
用近似值yn代替y(xn),把上式右端所得结果记为yn?1,得
yn?1?yn?hf(xn,yn) (n?0,1?,2. )b 数值差商
由导数定义知
y(xn?1)?y(xn)h?y'(xn)?f(xn,y(xn)),
所以
y(xn?1)?y(xn)?hf(xn,y(xn)).
用yn代替y(xn),把上式右端所得结果记为yn?1,即得公式(3). c 数值积分
在区间?xn,xn?1?上对微分方程(1)进行积分,得
y(xn?1)?y(xn)??xn?1xf(x,y(x))dx, n利用左矩形公式得
y(xn?1)?y(xn)?hf(xn,y(xn)).
3
3)4)5)
( ( (
用yn代替y(xn),把上式右端所得结果记为yn?1,即得公式(3). d 几何方法
在Oxy平面中,微分方程
{
y'?f(x,y),y(x0)?y0.
的解y?y(x)称为它的积分曲线.积分曲线上的一点(x,y)的切线斜率等于函数
f(x,y)的值.如果按函数f(x,y)在Oxy平面上建立一个方向场,那么,积分曲
线上的每一点的切线方向均与方向场在该点的方向一致.
基于上述对微分方程解的几何解释,从初始点p0(x0,y0)出发,依方向场在该 点的方向上推进到x?x1上一点p1,然后再从p1依方向场的方向推进到x?x2上 的一点p2.循环前进,可作出一条折线p0p1p2?(如图1)
P?i+1 Pn? y=y(x) P1? Pi? Pn P 1 P i Pi+1 P0 x0 x1 xi xi+1 xn
图1
一般地,设已作出该折线的极点pn,过pn(xn,yn)依方向场的方向再推进到
pn?1(xn?1,yn?1),显然,两个极点pn,pn?1的坐标有下列关系:
yn?1?yn?f(xn,yn),
xn?1?xnyn?1?yn?hf(xn,yn).
若初值y0.已知,则依上式可逐步算出
y1?y0?hf(x0,y0),
4
常微分方程的Euler解法
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)