5 常微分方程组与高阶常微分方程的数值解法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

§5 常微分方程组与 高阶常微分方程的数值解法

为了简单起见,在此仅研究含有两个一阶常微分方程的初值问题

111210102

2122020(,,),(),(,,),()y f x y y y x y y f x y y y x y '==⎧⎨

'==⎩ (5.1) 若记

12y y ⎛⎫

= ⎪⎝⎭y

12(,)(,)(,)f x x f x ⎛⎫

= ⎪

⎝⎭y f y y

10020y y ⎛⎫= ⎪

⎝⎭y

10020()()()y x x y x ⎛⎫= ⎪⎝⎭

y

则(5.1)可以改写为向量的形式

00(,)()x x '=⎧⎨

=⎩y f y y y (5.2)

相应地,将前述求解常微分方程初值问题的公式写成向量的形式,就得到常微分方程组的数值解法。 例如,求解(5.1)的四阶经典R-K 方法为

1,11131112142,1223212224226k k k k y y K K K K h y y K K K K ++⎡⎤⎛⎫⎛⎫⎛⎫⎛⎫⎛⎫

⎛⎫=++++ ⎪⎢⎥ ⎪ ⎪ ⎪ ⎪ ⎪

⎝⎭⎝⎭⎝⎭⎝⎭⎝⎭⎝⎭⎣⎦

其中

1121121221(,,)(,,)k k k k k k f x y y K f x y y K ⎛⎫

⎛⎫=

⎪ ⎪⎝⎭⎝⎭

111122112222111221(,,)222

(,,)222k k k k k k h h h f x y K y K K K h h h f x y K y K ⎛⎫+++ ⎪⎛⎫=

⎪ ⎪ ⎪⎝⎭+++ ⎪⎝⎭

111222213232112222(,,)222

(,,)222k k k k k k h h h f x y K y K K K h h h f x y K y K ⎛⎫+++ ⎪⎛⎫=

⎪ ⎪ ⎪⎝⎭+++ ⎪⎝⎭

111322314211322324(,,)(,,)k k k k k k f x h y hK y hK K f x h y hK y hK K +++⎛⎫

⎛⎫=

⎪ ⎪+++⎝⎭⎝⎭

注:教材中1122(),()k k k k y y x y y x ==不正确,它们仅当0k =时成立(即初始条件)。

对于高阶微分方程,可以化成微分方程组后再求解。例如二阶常微分方程初值问题

0000(,,),(),()y f x y y y x y y x y '''=⎧⎪

=⎨⎪''=⎩

(5.3)

12,y y y y '==,

则(5.3)可以化为

12100102

1220020,()(,,),()()y y y x y y y f x y y y x y x y '===⎧⎨

''===⎩

§6 边值问题的数值解法

本节用最简单的二阶常微分方程问题为例,说明边值问题的数值解法。

(,,),[,],(),().y f x y y x a b y a y b αβ'''=∈⎧⎪

=⎨⎪=⎩

用中心差商代替导数,上述问题可以转化为方程组,然后求解。这种求解方法称为差分法。过程如下: 记

00,(1,2,,),k b a h x x kh k n x a

n

-==+== , 将一阶和二阶中心差商公式

2

11()()()()

2k k k y x y x y x O h h

+--'=+ 2

112()2()()()()k k k k y x y x y x y x O h h

-+-+''=+ 中的余项2

()O h 略去,并用11,,k k k y y y -+分别替代

11(),(),()k k k y x y x y x -+,代入方程,便得

2

111102(,,),21,2,,1,,

.

k k k k k k k n y y y y y h f x y h k n y y αβ+-+--⎧-+=⎪⎪⎪=-⎨

⎪=⎪

=⎪⎩ 注意到0,n y y 为已知,这是一个含有1n -个未知数,

1n -个方程的方程组。

一般情况下,上述方程组是非线性的,求解比较困难。如果(,,)f x y y '是y 与y '的线性函数,则方程

组为线性方程组。

例2 求边值问题

,[0,1],(0)0,

(1)1

y y x x y y ''-=∈⎧⎪

=⎨⎪=⎩

取步长0.1h =,求数值解。

解 本例中,

0(,,)0,1,0,1110

0.1,0,1,,n k f x y y y x a b y y n h x k k n

'=+======== 分别取1,2,,1k

n =- ,得

2

21012

3212210

98920.1(0.1)20.1(0.2)20.1(0.9)

y y y y y y y y y y y y ⎧-+=+⎪-+=+⎪⎨⎪⎪-+=+⎩

将0100,1y y ==代入上式,整理后得

21321982.010.0012.010.0022.010.0091

y y y y y y y -=⎧⎪-+=⎪⎨⎪⎪-+=-⎩ 上述方程组为对角占优的三对角方程组,用追赶法求

解,得

相关文档
最新文档