)
┊
┊
中的导数项y用差商逼近,从而将一个微分方程转化为一个代数方程,以便求解。
┊┊
设在ab中取等距节点h,因为在节点x
点上,由(21)可得:
┊订
yx
fx
yx
,
(22)
┊
又由差商的定义可得:
┊
┊┊
yx
)
yx
1h
yx
(23)
┊线
所以有
yx
1yx
hfx
yx
(24)
┊┊
用yxk的近似值ykk
1代入(24),则有计算y
1的欧拉公式
┊┊
y
1y
hfx
yx
(25)
┊
212欧拉法误差分析
┊
┊
从欧拉公式中可以看出,右端的y
都是近似的,所以用它计算出来的y
1会有累计误差,累
┊
┊
计误差比较复杂,为简化分析,我们考虑局部截断误差,即认为y
是精确的前提下来估计
┊
┊
yx
1y
1,记为
1,泰勒展开有
┊┊
yx
1
yx
hyx
h22
yOh3
x
x
1
(26)
联立(25),(26)即得
1
h22
yOh3Oh2,根据数值算法精度的定义,如果一
个数值方法的局部截断误差
1Ohp1则称这个算法具有P阶精度,所以,欧拉方法具有一阶
共39页第4页
f毕业设计(论文)报告纸
精度或者称欧拉方法为一阶方法。
22改进的欧拉方法
221改进的欧拉法介绍
┊
用数值积分离散化问题(1),两边做积分有:
┊
┊┊
yx
1yx
x
1fxyxdx
x
(27)
┊
对右端积分使用梯形积分公式可得:
┊
┊┊
x
1fxyxdxh
x
2
fx
yx
fx
1yx
1
(28)
┊
┊
同欧拉方法,用yxk的近似值ykk
1代入(27),联立(28)得到改进的欧拉方
┊
法计算公式:
┊
┊装
y
1
y
hf2
x
y
fx
1y
1
(29)
┊
┊
一般来说,如果求解y
1时,算法右端不包含y
1,称为显性计算公式,如果包含,则求解时还
┊
需要解方程,这种称为隐式计算公式。显然公式(29)是一个隐式计算公式,事实上,改进的
┊
┊订
欧拉方法是用欧拉方法先求一个预测值y
1,再用这个预测值来计算y
1,即:
┊┊┊┊
y
1
y
hf
x
y
y
1
y
h2
f
x
y
f
x
1
y
1
(210)
┊
222改进的欧拉法误差分析
线
┊
同欧拉法误差分析类似,用泰勒展开容易知道改进的欧拉方法具有二阶精度,证明略。
┊
23算例
┊
┊
231(一阶常微分方程)
┊
求解初值问题
┊
y01
┊┊┊
y
y
2xy
x01
┊
解析:在MATLAB中求解这个方程
┊
ydsolveDyy2xyy01x得y2x112
┊
它的解析解为y12x,下面我们分别用欧拉方法和改进的欧拉方法来求其数值解。
┊
欧拉方r