数值分析常微分方程数值解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
许多实际问题的数学模型是微分方程或微分方程的定解问题。如物体运动、电路振荡、化学反映及生物群体的变化等。常微分方程可分为线性、非线性、高阶方程与方程组等类;线性方程包含于非线性类中,高阶方程可化为一阶方程组。若方程组中的所有未知量视作一个向量,则方程组可写成向量形式的单个方程。因此研究一阶微分方程的初值问题
⎪⎩⎪⎨⎧=≤≤=0
)(),(y a y b
x a y x f dx
dy
, (9-1) 的数值解法具有典型性。
常微分方程的解能用初等函数、特殊函数或它们的级数与积分表达的很少。用解析方法只能求出线性常系数等特殊类型的方程的解。对非线性方程来说,解析方法一般是无能为力的,即使某些解具有解析表达式,这个表达式也可能非常复杂而不便计算。因此研究微分方程的数值解法是非常必要的。
只有保证问题(9-1)的解存在唯一的前提下,研究其数值解法或者说寻求其数值解才有意义。由常微分方程的理论知,如果(9-1)中的),(y x f 满足条件
(1)),(y x f 在区域} ),({+∞<<∞-≤≤=y b x a y x D ,上连续; (2)),(y x f 在上关于满足Lipschitz 条件,即存在常数,使得
y y L y x f y x f -≤-),(),(
则初值问题(9-1)在区间],[b a 上存在惟一的连续解)(x y y =。在下面的讨论中,我们总假定方程满足以上两个条件。
所谓数值解法,就是求问题(9-1)的解)(x y y =在若干点
b x x x x a N =<<<<= 210
处的近似值),,2,1(N n y n =的方法。),,2,1(N n y n =称为问题(9-1)的数值解,n n x x h -=+1称为由到1+n x 的步长。今后如无特别说明,我们总假定步长为常量。
建立数值解法,首先要将微分方程离散化,一般采用以下几种方法: (1) 用差商近似导数
在问题(9-1)中,若用向前差商
h
x y x y n n )
()(1-+代替)(n x y ',则得
)1,,1,0( ))(,()
()(1-=≈-+N n x y x f h
x y x y n n n n n
)(n x y 用其近似值代替,所得结果作为)(1+n x y 的近似值,记为1+n y ,则有 1(,) (0,1,
,1)n n n n y y hf x y n N +=+=-
这样,问题(9-1)的近似解可通过求解下述问题
100(,) (0,1,
,1)
()
n n n n y y hf x y n N y y x +=+=-⎧⎨
=⎩(9-2)
得到,按式(9-2)由初值经过步迭代,可逐次算出N y y y ,,21。此方程称为差分方程。
需要说明的是,用不同的差商近似导数,将得到不同的计算公式。 (2) 用数值积分法
将问题(9-1)中的微分方程在区间],[1+n n x x 上两边积分,可得
)1,,1,0( ))(,()()(1
1-==-⎰
++N n dx x y x f x y x y n n
x x n n (9-3)
用1+n y ,分别代替)(1+n x y ,)(n x y ,若对右端积分采用取左端点的矩形公式,即
),())(,(1
n n x x y x hf dx x y x f n n
≈⎰
+
同样可得出显式公式(9-2)。
类似地,对右端积分采用其它数值积分方法,又可得到不同的计算公式。 (3) 用Taylor 多项式近似。把1()n y x +在点处Taylor 展开,取一次多项式近似,则得
2
12
1()()()()
2!
()(,())() [,]
2!
n n n n n n n n h y x y x hy x y h
y x hf x y x y x x ξξξ++'''=++''=++∈ 设1h ,略去余项,并以代替()n y x ,便得 1(,)n n n n y y hf x y +=+
以上三种方法都是将微分方程离散化的常用方法,每一类方法又可导出不同形式的计算公式。其中Taylor 展开法,不仅可以得到求数值解的公式,而且容易估计截断误差。
上面我们给出了求解初值问题(9-1)的一种最简单的数值公式(9-2)。虽然它的精度比较低,实践中很少采用,但它的导出过程能较清楚地说明构造数值解公式的基本思想,且几何意义明确,因此它在理论上仍占有一定的地位。
1简单的数值方法和基本概念
1.1 Euler 法与向后Euler 法
一、Euler 法
Euler 方法就是用差分方程初值问题
10(,) (0,1,,1)
()
n n n n y y hf x y n N y y a +=+=-⎧⎨
=⎩(9-4)
的解来近似微分方程初值问题(9-1)的解,即由公式(9-4)依次算出()n y x 的近似值(1,2,
)n y n =。
从几何上看,微分方程(,)y f x y '=在xoy 平面上确定了一个向量场:点(,)x y 处的方向斜率为(,)f x y 。问题(9-1)的解()y y x =代表一条过点00(,)x y 的曲线,称为积分曲线,且此曲线上每点的切向都与向量场在这点的方向一致。从点000(,)P x y 出发,以00(,)f x y 为斜率作一直线段,与直线1x x =交于点111(,)P x y ,显然有
1000(,)y y hf x y =+,再从出发,以11(,)f x y 为斜率作直线段推进到2x x =上一点222(,)P x y ,其余类推,这样得
到解曲线的一条近似曲线,它就是折线012
P PP 。因此Euler 方法又称为Euler 折线法。
二、向后Euler 法
在微分方程离散化时,用向后差商代替导数,即11()()
()n n n y x y x y x h
++-'≈
,则得到如下差分方程
11100(,) (0,1,,1)
()
n n n n y y hf x y n N y y x +++=+=-⎧⎨
=⎩(9-5)
用这组公式求问题(9-1)的数值解称为向后Euler 法。
向后Euler 法与Euler 法形式上相似,但实际计算时却复杂得多。Euler 法计算1+n y 的公式中不含有1+n y ,这样