当前位置:文档之家› 第九章+常微分方程初值问题数值解法

第九章+常微分方程初值问题数值解法

第九章+常微分方程初值问题数值解法
第九章+常微分方程初值问题数值解法

第九章 常微分方程初值问题

的数值解法

在自然科学的工程技术的许多领域中,常会遇到常微分方程初值问题,但这种问题大多数情况下不存在初等形式的解析解,只能用近似方法来求解。近似解法主要有两类:一类叫做近似解析方法,它能给出解得近似表达式,例如熟知的级数解法和逐次逼近法等;另一类近似解法称为数值解法,它可以给出解在一些离散点上的近似值。数值方法便于电子计算机求解微分方程。本章讨论初值问题常用的数值解法,并介绍有关的基本理论。

假设给定一阶常微分方程的初值问题:

(,),()dy

f x y a x b dx y a a ?=≤≤???=?

(9.1)(9.2) 其中f 为x, y 的已知函数,α为给定的初始值。

由微分方程的理论可知,如果 f (x,y )在区域a

x b ≤≤,

y -∞<<+∞

内连续,且关于y 满足李普希兹(Lipschitz)条件,即存

在常数L ,使

|(,)(,)||f x y f x y L y y -≤-

对所有的a

x b

≤≤及任何y ,y 均成立,则初值问题(9.1),(9.2)

有连续可微的解y (x )存在且唯一。所谓初值问题的数值解,则是问题的解y (x )在一系列点

01212...N N a x x x x x b --=<<<<<=

处的值()n

y x 的近似值n

y (n =0,1,…,N )。这里相邻两个节点之间的

距离1n

n n h

x x -=-通常称为步长,通常将步长n h 取为常数h 。

§9.1 欧拉方法与改进的欧拉方法

欧拉(Euler)方法是最简单的数值方法,由于它的精确程度较差,已不常用于实际计算。但构造这个方法的基本原理,对于构造一般的数值方法具有普遍意义,因此首先对它进行讨论。

9.1-1 欧拉方法的构造

将方程(9.1)中点n

x 处的导数()n

y x '用差商近似地表示为

1()()

()n n n y x y x y x h

+-'≈

即在该点有近似等式

1()()

(,())n n n n y x y x f x y x h

+-≈

用近似值n

y 代替()n

y x ,由上式可以导出其近似值满足的差分方程:

1(,()),

0,1,...,1n n n n y y hf x y x n N +=+=- (9.3)

(9.3)式称为欧拉方法的计算公式或称为欧拉公式。当初始值

0y α

=给定时,利用欧拉公式就可以逐次计算出初值问题的数值

解01,,...,N y y y 。

9.1-2 后退的欧拉公式 如果在点1

n x

+处用向后差商近似(9.1)式中的导数

1()()

()n n n y x y x y x h

+-'≈

即有 11

1()()(,

())

n n n n y x y x h f x y x +++≈+

再用近似值i y 代替()i y x (,1)i n n =+,则可导出近似值满足的差分方程

111(,)n n n n y y hf x y +++=+ (9.6)

(9.6)式称为后退的欧拉公式。这是一个两端含有未知数1

n y +的

方程,这样的方法称为隐式方法。相应地,称右端不隐含1

n y +的

欧拉公式(9.3)是一个显式方法。隐式方法求1

n y +时需解方程,

当(,)f x y 关于y 为非线性时,就需要解非线性方程,通常用迭代

法求解。

可以证明,隐式的后退欧拉公式(9.6)的局部截断误差为

2

3

,()()2

n h n h

R y x O h ''=-

+ (9.7)

事实上,设()n n y y x =时,由(9.6)式有

11111(,)

()(,)

n n n n n n n y y hf x y y x hf x y +++++=+=+ (9.8)

由中值定理得

1111111(,)

(,())(,)[()]

n n n n y n n n f x y f x y x f x y y x η+++++++'=+- (9.9)

将(9.9)式代入(9.8)式,并利用微分方程(9.1),得

11111()()

(,)[()]

n n n y n n n y y x hy x hf x y y x η+++++'=+'+- (9.10)

由微分方程解的泰勒展式(9.4)与(9.10)式相减,得

11

2

113

11()[()()]()(,)

2

[()]()

n n n n n y n n n y x y h

h y x y x y x hf x y y x O h η++++++-'''''=-+

--+

以3

1

()()()()n n n y x

y x hy x O h +''''=++代入上式,得

112

3

111()()(,)[()]()

2

n n n y n n n y x y h

y x hf x y x y O h η+++++-'''=-

+-+

移项整理得

112

3

1()1

[()()]

1(,)

2

n n n y n y x y h

y x O h hf x η+++-''=

-

+'-

注意当h 充分小,使1y

hf '

<时,有

111

1(,)...1(,)

y n y n hf x hf x ηη++'=++'-

即得 2

3

11()()()2

n n n h

y x y y x O h ++''-=-

+

9.1-3 改进的欧拉方法

用1

n y +与1

n y +分别表示用欧拉公式与后退的欧拉公式求得的数

值解,由式(9.5)与(9.7)可知,欧拉方法与后退的欧拉方法的局部截断误差的主部只是符号相反,于是显然有

3

1111()()()2

n n n y x y y O h +++-

+=

由此可以构造如下的计算公式

111[(,)(,)]2

n n n n n n h y y f x y f x y +++=+

+

(0,1,2,...1)n N =- (9.11)

(9.11)式称为梯形方法,其局部截断误差为3()O h ,因此它是一个二阶方法,梯形方法也是隐式的,在实际应用中时常与显式的欧拉公式联合使用,构成如下的计算格式:

(0)1(1)()

111(,)[(,)(,)]2

n n n n k k n n n n n n y y hf x y h y y f x y f x y +++++?=+?

?=++?? (0,1,2,...)k = (9.12)

即先用欧拉方法算出初始近似值(0)

1

n y +,然后用(9.12)的第二式

进行迭代,反复改进这个近似值,直到

(1)

()

11k k n n y y ε

+++-<(ε为所允

许的误差)为止。而把(1)

1

k n y ++取作1()n y x +的近似值1n y +,类似地

计算2n y +,3n y +,…

显然,如果上述迭代序列(0)1n y +,(1)1n y +,…收敛,其极限便满足方程

111[(,)(,)]2

n n n n n n h y y f x y f x y +++=+

+

即序列的极限是梯形方法所得到的解1n y +,容易证明,只要h 取得充分小,上述迭代过程必定收敛,事实上,将(9.11)式与(9.12)第二式相减,得

(1)

()

11

1111

[(,)(,)2

k k n n n n n n h y y f x y f x y

+++++++-=

+

由于f 满足李普希兹条件,故有

(1)

()

11

112

k k n n n n hL y y y y +++++-≤

-

因此只要h 充分小,使

12

hL <,迭代过程就是收敛的,但计算时

需要迭代多少次,一般无法估计,故在实用时,在h 取得较小的条件下,常常让计算迭代一次就结束,将其一次迭代值取作1n y +。这时计算公式为

(0)

1(0)

111(,)[(,)(,)]2

n n n n n n n n n n y y hf x y h y y f x y f x y ++++?=+??=++?? (0,1,2,...)n = (9.13)

或直接写成

110

[(,)(,(,))]2n n

n n n n n n h y y f x y f x y h x y y a ++?

=+++???=?

(9.14)

(9.13)式或(9.14)式被称为改进的欧拉公式,将(9.14)式展开后与初值问题的解的泰勒展开式比较,可知其局部截断误差仍是

3

()O h ,即改进的欧拉方法是二阶方法,且是显式方法。通常把

(9.13)式中第一式得出的初始近似值(0)1

n y +称为预测值,第二式是对

预测值进行一次校正,因此称这样构造的方法为预测-校正方法。

[例1]用欧拉方法与改进的欧拉方法求初值问题

223(0)1dy

x dx y y ?=??

?=?

在区间[0,1]上取0.1h =的数值解。

[解] 欧拉方法的计算公式为

102

2(

)1,0.13n n n n

x y y h y h y +=+==

改进的欧拉方法其计算公式为

(0)

1

21

12(0)2

102()322[]233()1,0.1n n n n

n n n n n n x y y h y x x h y y y y y h ++++?=+???=++??

?==??

本题的精确解为()y x =

列出计算结果。(请完成)。

§9.2 龙格库塔方法

龙格-库塔(Runge-Kutta )方法,是间接利用泰勒展开的思想构造的一类数值方法。在讨论龙格-库塔方法之前,我们先介绍泰勒方法。

9.2-1 泰勒方法

假定初值问题(9.1),(9.2)的解()y x 及函数(),f x y 是足够光滑的,利用p 阶泰勒公式得

()()()()

()

()()

()()()()()

()

()()()

2

112

11

2!

!

,,2!

,!

n n n n p

p p n n n

n n n p

p p n n h

y x y x hy x y x h

y

x O h p h

y x hf x y x f x y x h

f

x y x O h p ++-+'''=++++

+'=++

++

+

当h 充分小时,略去余项()1

p O h +,则可导出近似值1

n y +的计算公式:

()()()

()2110,,2!

,!n n n n n n p

p n n h

y y hf x y f x y h f x y p y a

+-?'=++????++??=?? (9.18)

算式中用到的各阶导数()()

()1,i i n

n n y f

x y -=

可以由微分方程的右端函

数计算出来。例如

()()()()()()()2,,, ,,,, 2 n n n n n n n n x n n n n y n n n n n xx xy yy y x y y f x y y f x y f x y f x y f x y y f x y f f f f f f f '?=?

'''=??

=+??'''''

=????'=+++????

?

(9.18)式称为p 阶泰勒方法。特别地,当1p =时(9.18)式就是欧拉公式(9.3);当2p =时,得二阶泰勒方法 ()1

,2n n n n x y h f f y y h f f x y +??

????=+++?? ??????

? (9.19)

[例2]用泰勒方法解

223(0)1dy

x dx y y ?=??

?=?

分别用二阶、四阶泰勒方法计算点n x =0.1, 0.2, …, 1.0处的数值解,并与精确解进行比较。(请完成)

9.2-2 龙格-库塔方法的基本思想与二阶公式的推导

龙格-库塔方法的基本思想是利用(),f x y 在某些点处的值的线性组合,来构造一类计算公式,使其按泰勒展开后与初值问题的解的泰勒展式比较,在尽可能多的项完全相同以确定其中的参数,从而保证算式有较高的精确度。由于避免了在算式中直接用到(),f x y 的导数,所以说龙格-库塔方法是基于间接利用泰勒展开的思想。一般龙格-库塔方法的形式为

111221222113331132211,11...(,)

(,)(,)...(,...)

n n r r n n n n n n r n r n r r r r y y k k k k hf x y k hf x a h y k k hf x a h y k k k hf x a h y k k ωωωβββββ+--=++++?

?

=??=++??=+++???=++++?? (9.20)

其中,i

α,ij

β,i

ω为常数。选取这些常数的原则,是要求(9.20)

第一式右端在(,)n

n x

y 处作泰勒展开,且按

h 的幂次整理得

2

3

112311...2!

3!

n n y y h h h ννν+=++

+

+

与微分方程解的泰勒展式

2

3

111()()...2!

3!

n n n n n y x y x f h f h f h +'''=++

+

+

有尽可能多的项重合,即要求

123,,,...n n n v f v f v f '''===

通常把(9.20)式叫做r 级(或r 段)的计算公式。如果(1)

f f

n

v f -=,

对1,2,...,j m =成立,而对1j m =+时不成立,则所得的公式称为m

阶的。

下面我们以二阶龙格-库塔公式为例,进行具体的推导说明。 设想构造如下形式的公式:

1112212

2211(,)(,)

n n n n n n y y k k k hf x y k hf x a h y k ωωβ+=++?

?

=?

?=++?

(9.21)

要求适当选取系数1

ω,2

ω,α和β,使当()

n

n y

y x =时,(9.21)式的

局部截断误差为3

()O h 。为此,将2

k 在(,)n

n x

y 展开,有

2

2n =[+(+)+O ()]x y n k h f h f ff h αβ

将上式代入(9.21)式,整理得

2

3

1122()(+)+O ()n n n x y n y y h f h f ff h ωωωαβ+=+++

(9.22)

在解()y x 的泰勒展式

2

3

1()()()()+O ()2

n n n n h

y x y x hy x y x h +'''=++

中,()(,())y x f x y x '=

,()(,)(,)(,)x y x y y x f x y f x y f x y f ff ''=+=+ ,即有 2

3

1()()()+O ()2

n n n x y n h

y x y x hf f ff h +=++

+

(9.23)

将(9.22)式与(9.23)式比较,当n

n y

=y(x )时,只需取

122211212

ωωαωβω?

?+=??

=???

=??

(9.24)

则(9.21)式的局部截断误差为3

O ()h 。

(9.24)式中包含有四个未知数,只有三个方程,其中有一个未知数可以任意取值,且显然β

α

=。(9.24)式的每一组解都使(9.21)

式的局部截断误差为3

()O h ,即都使(9.21)式成为一个二阶方法。这些方法统称为二阶龙格-库塔方法。较常用的方法有两个,一 个是取1211,2

αβωω====

,这就是改进的欧拉方法(9.14)。另一个

是取121,0,12

α

βωω==

==,得

12112(,)(,)22

n n n n n n y y k k hf x y k h

k hf x y +?

?=+?

=???=++? (9.25)

(9.25)式通常称为中心点公式,二阶龙格-库塔方法每一步需要两次计算函数f 的值。

高阶龙格-库塔方法的推导过程很繁,这里不再一一论述。

9.2-3 四阶龙格-库塔方法

适当选取四个点处函数f 的值作线性组合,可以构造出四阶的计算公式。这些公式也有无穷多个,下面列出比较重要的两个公式。

标准(又称古典的)四阶龙格-库塔公式:

11234112234

31(22)

6

(,)(,)22(,)

22(,)

n n n n n n n n n n y y k k k k k hf x y k h k hf x y k h k hf x y k hf x h y k +?=+

+++??

=???

=++???

=+

+

??

=++?? (9.26)

基尔(Gill )公式:

112341123124231[(2(2]

6

(,)(,)

221(,(1)

222(,(1)

2

2

n n n n n n n n n n y y k k k k k hf x y k h k hf x y h k hf x y k k k hf x h y k k +???=+

+-

++

+?

?=??

=++???

=+

+

+-

???

=+-++??

(9.27)

标准四阶公式(9.26)是实际计算时最常用的一个龙格-库塔型公式,基尔公式具有减少舍入误差即稳定性好的优点。四阶以下的龙格-库塔公式,其阶数每前进一步所需计算函数值f 的次数是一致的,高于四阶的公式,所需计算的f 值的次数要大于公式的阶数,因而计算工作量也将大大增加。对于一般实际问题,四阶公式已经可以满足其精度要求了。 [例3]用标准四阶R -K 方法求

2

23(0)1dy x dx

y y ?=???=?

在区间[0, 1]上,1.0=h

的数值解以及在区间[1, 10]上,1=h 的数

值解,并与精确解进行比较。(请完成)

常微分方程边值问题的数值解法

第8章 常微分方程边值问题的数值解法 引 言 第7章介绍了求解常微分方程初值问题的常用的数值方法;本章将介绍常微分方程的边值问题的数值方法。 只含边界条件(boundary-value condition)作为定解条件的常微分方程求解问题称为常微分方程的边值问题(boundary-value problem). 为简明起见,我们以二阶边值问题为 则边值问题(8.1.1)有唯一解。 推论 若线性边值问题 ()()()()()(),, (),()y x p x y x q x y x f x a x b y a y b αβ'''=++≤≤?? ==? (8.1.2) 满足 (1) (),()p x q x 和()f x 在[,]a b 上连续; (2) 在[,]a b 上, ()0q x >, 则边值问题(8.1.1)有唯一解。 求边值问题的近似解,有三类基本方法: (1) 差分法(difference method),也就是用差商代替微分方程及边界条件中的导数,最终化为代数方程求解; (2) 有限元法(finite element method);

(3) 把边值问题转化为初值问题,然后用求初值问题的方法求解。 差分法 8.2.1 一类特殊类型二阶线性常微分方程的边值问题的差分法 设二阶线性常微分方程的边值问题为 (8.2.1)(8.2.2) ()()()(),,(),(), y x q x y x f x a x b y a y b αβ''-=<

常微分方程初值问题数值解法.

常微分方程初值问题数值解法 朱欲辉 (浙江海洋学院数理信息学院, 浙江舟山316004) [摘要]:在常微分方程的课程中讨论的都是对一些典型方程求解析解的方法.然而在生产实 际和科学研究中所遇到的问题往往很复杂, 在很多情况下都不可能给出解的解析表达式. 本篇文章详细介绍了常微分方程初值问题的一些数值方法, 导出了若干种数值方法, 如Euler法、改进的Euler法、Runge-Kutta法以及线性多步法中的Adams显隐式公式和预测校正 公式, 并且对其稳定性及收敛性作了理论分析. 最后给出了数值例子, 分别用不同的方法计算出近似解, 从得出的结果对比各种方法的优缺点. [关键词]:常微分方程;初值问题; 数值方法; 收敛性; 稳定性; 误差估计 Numerical Method for Initial-Value Problems Zhu Yuhui (School of Mathematics, Physics, and Information Science, Zhejiang Ocean University, Zhoushan, Zhejiang 316004) [Abstract]:In the course about ordinary differential equations, the methods for analytic solutions of some typical equations are often discussed. However, in scientific research, the problems are very complex and the analytic solutions about these problems can’t be e xpressed explicitly. In this paper, some numerical methods for the initial-value problems are introduced. these methods include Euler method, improved Euler method, Runge-Kutta method and some linear multistep method (e.g. Adams formula and predicted-corrected formula). The stability and convergence about the methods are presented. Some numerical examples are give to demonstrate the effectiveness and accuracy of theoretical analysis. [Keywords]:Ordinary differential equation; Initial-value problem; Numerical method; Convergence; Stability;Error estimate

常微分方程初值问题的数值解法

贵州师范大学数学与计算机科学学院学生实验报告 课程名称: 数值分析 班级: 实验日期: 年 月 日 学 号: 姓名: 指导教师: 实验成绩: 一、实验名称 实验六: 常微分方程初值问题数值解法 二、实验目的及要求 1. 让学生掌握用Euler 法, Runge-Kutta 法求解常微分方程初值问题. 2. 培养Matlab 编程与上机调试能力. 三、实验环境 每人一台计算机,要求安装Windows XP 操作系统,Microsoft office2003、MATLAB6.5(或7.0). 四、实验内容 1. 取步长h=0.1,0.05,0.01, ,用Euler 法及经典4阶Runge-Kutta 法求解初值 问题 ?? ?=≤≤++-=1 )0() 10(2222'y t t t y y 要求: 1) 画出准确解(准确解22t e y t +=-)的曲线,近似解折线; 2) 把节点0.1和0.5上的精确解与近似解比较,观察误差变化情况. 2. 用 Euler 法,隐式Euler 法和经典4阶R-K 法取不同步长解初值问题 ?? ? ??= ∈-=21 )0(],1,0[,50'y x y y 并画出曲线观察稳定性. 注:题1必须写实验报告 五、算法描述及实验步骤 Euler 法: 输入 000),(,,,),,(y a x x h b a y x f = 输出 Euler 解y 步1 ),,2,1(;m n h n a x h a b m n =?+=-? 步2 对1,,2,1,0-=m n 执行),(1n n n n y x f h y y ?+?+

步3 输出T m y y y y ),,,(21 = 经典4阶R-K 法: 输入 000),(,,,),,(y a x x h b a y x f = 输出 4阶R-K 解y 步1 ),,2,1(;m n h n a x h a b m n =?+=-? 步2 对1,,2,1,0-=m n 执行),(1n n y x f K ?,)5.0,(15.02hK y x f K n n +?+, )5.0,(25.03hK y x f K n n +?+,),(314hK y x f K n n +?+ )22(6 43211K K K K h y y n n ++++?+ 步3 输出T m y y y y ),,,(21 = 六、调试过程及实验结果 >> shiyan6 Y1 = 0.8000 0.6620 0.5776 0.5401 0.5441 0.5853 0.6602 0.7662 0.9009 1.0627 Y2 = 0.8287 0.7103 0.6388 0.6093 0.6179 0.6612 0.7366 0.8419 0.9753 1.1353

常微分方程初值问题的数值解法

第七章 常微分方程初值问题的数值解法 --------学习小结 一、本章学习体会 通过本章的学习,我了解了常微分方程初值问题的计算方法,对于解决那些很难求解出解析表达式的,甚至有解析表达式但是解不出具体的值的常微分方程非常有用。在这一章里求解常微分方程的基本思想是将初值问题进行离散化,然后进行迭代求解。在这里将初值问题离散化的方法有三种,分别是差商代替导数的方法、Taylor 级数法和数值积分法。常微分方程初值问题的数值解法的分类有显示方法和隐式方法,或者可以分为单步法和多步法。在这里单步法是指计算第n+1个y 的值时,只用到前一步的值,而多步法则是指计算第n+1个y 的值时,用到了前几步的值。通过对本章的学习,已经能熟练掌握如何用Taylor 级数法去求解单步法中各方法的公式和截断误差,但是对线性多步法的求解理解不怎么透切,特别是计算过程较复杂的推理。 在本章的学习过程中还遇到不少问题,比如本章知识点多,公式多,在做题时容易混淆,其次对几种R-K 公式的理解不够透彻,处理一个实际问题时,不知道选取哪一种公式,通过课本里面几种方法的计算比较得知其误差并不一样,,这个还需要自己在往后的实际应用中多多实践留意并总结。 二、本章知识梳理 7.1 常微分方程初值问题的数值解法一般概念 步长h ,取节点0,(0,1,...,)n t t nh n M =+=,且M t T ≤,则初值问题000 '(,),()y f t y t t T y t y =≤≤??=?的数值解法的一般形式是 1(,,,...,,)0,(0,1,...,)n n n n k F t y y y h n M k ++==- 7.2 显示单步法 7.2.1 显示单步法的一般形式 1(,,),(0,1,...,1)n n n n y y h t y h n M ?+=+=-

一阶常微分方程解法总结

第 一 章 一阶微分方程的解法的小结 ⑴、可分离变量的方程: ①、形如 )()(y g x f dx dy = 当0)(≠y g 时,得到 dx x f y g dy )() (=,两边积分即可得到结果; 当0)(0=ηg 时,则0)(η=x y 也是方程的解。 例1.1、 xy dx dy = 解:当0≠y 时,有 xdx y dy =,两边积分得到)(2ln 2为常数C C x y += 所以)(112 12 C x e C C e C y ±==为非零常数且 0=y 显然是原方程的解; 综上所述,原方程的解为)(12 12 为常数C e C y x = ②、形如0)()()()(=+dy y Q x P dx y N x M 当0)()(≠y N x P 时,可有 dy y N y Q dx x P x M ) () ()()(=,两边积分可得结果; 当0)(0=y N 时,0y y =为原方程的解,当0(0=) x P 时,0x x =为原方程的解。 例1.2、0)1()1(2 2 =-+-dy x y dx y x 解:当0)1)(1(2 2 ≠--y x 时,有 dx x x dy y y 1 122-=-两边积分得到 )0(ln 1ln 1ln 22≠=-+-C C y x ,所以有)0()1)(1(22≠=--C C y x ; 当0)1)(1(2 2 =--y x 时,也是原方程的解; 综上所述,原方程的解为)()1)(1(2 2 为常数C C y x =--。 ⑵可化为变量可分离方程的方程: ①、形如 )(x y g dx dy = 解法:令x y u =,则udx xdu dy +=,代入得到)(u g u dx du x =+为变量可分离方程,得到

常微分方程解题方法总结.doc

常微分方程解题方法总结 来源:文都教育 复习过半, 课本上的知识点相信大部分考生已经学习过一遍 . 接下来, 如何将零散的知 识点有机地结合起来, 而不容易遗忘是大多数考生面临的问题 . 为了加强记忆, 使知识自成 体系,建议将知识点进行分类系统总结 . 著名数学家华罗庚的读书方法值得借鉴, 他强调读 书要“由薄到厚、由厚到薄”,对同学们的复习尤为重要 . 以常微分方程为例, 本部分内容涉及可分离变量、 一阶齐次、 一阶非齐次、 全微分方程、 高阶线性微分方程等内容, 在看完这部分内容会发现要掌握的解题方法太多, 遇到具体的题 目不知该如何下手, 这种情况往往是因为没有很好地总结和归纳解题方法 . 下面以表格的形 式将常微分方程中的解题方法加以总结,一目了然,便于记忆和查询 . 常微分方程 通解公式或解法 ( 名称、形式 ) 当 g( y) 0 时,得到 dy f (x)dx , g( y) 可分离变量的方程 dy f ( x) g( y) 两边积分即可得到结果; dx 当 g( 0 ) 0 时,则 y( x) 0 也是方程的 解 . 解法:令 u y xdu udx ,代入 ,则 dy 齐次微分方程 dy g( y ) x dx x u g (u) 化为可分离变量方程 得到 x du dx 一 阶 线 性 微 分 方 程 P ( x)dx P ( x) dx dy Q(x) y ( e Q( x)dx C )e P( x) y dx

伯努利方程 解法:令 u y1 n,有 du (1 n) y n dy , dy P( x) y Q( x) y n(n≠0,1)代入得到du (1 n) P(x)u (1 n)Q(x) dx dx 求解特征方程:2 pq 三种情况: 二阶常系数齐次线性微分方程 y p x y q x y0 二阶常系数非齐次线性微分方程 y p x y q x y f ( x) (1)两个不等实根:1, 2 通解: y c1 e 1x c2 e 2x (2) 两个相等实根:1 2 通解: y c1 c2 x e x (3) 一对共轭复根:i , 通解: y e x c1 cos x c2 sin x 通解为 y p x y q x y 0 的通解与 y p x y q x y f ( x) 的特解之和. 常见的 f (x) 有两种情况: x ( 1)f ( x)e P m ( x) 若不是特征方程的根,令特解 y Q m ( x)e x;若是特征方程的单根,令特 解 y xQ m ( x)e x;若是特征方程的重根, 令特解 y*x2Q m (x)e x; (2)f (x) e x[ P m ( x) cos x p n ( x)sin x]

常微分方程初值问题

常微分方程初值问题 12.1引言 在数学模型中经常出现的常微分方程在科学的许多分支中同样出现,例如工程和经济学。不幸的是却很少出现这些方程可得到表示在封闭的形式的解的情况,所以通常采用数值方法来寻找近似解。如今,这通常可以非常方便的达到高精度和在解析解和数值逼近之间可靠的误差界。在本节我们将关注一阶微分方程(12.1)形式关于实值函数y的实变 量x的结构和数值分析方法,其中和f是一个给定的实值函数的两个变量。为了从解曲线的无限族选择一个特定的积分构成(12.1)的通解,微分方程将与初始条件一起考虑:给定两个实数和,我们寻求一个(12.1)的解决方案,对于有 (12.2) 微分方程(12.1)与初始条件(12.2)被称为一个初值问题。如果你认为任何(12.1),(12.2)形式的初始值问题具有一个唯一解,看看以下例子。 例12.1考虑微分方程,初始条件,其中α是一个固定的实数,α∈(0,1)。 这是一个关于上述想法的简单验证,对于任何非负实数C, 是初值问题在区间[ 0,∞)上的一个解。因此解的存在性是肯定的,但解不一定唯一;事实上,初始值问题的解有一个无限族,当参数。 我们注意到,在与α∈(0,1)相反的情况下,当α≥1,初值问题,具有唯一解y(x)≡0。 例12.1表明函数f必须遵循相对于它的第二个参数的一定的增长性条件,以保证(12.1),(12.2)有唯一解。精确的保证初始值问题(12.1),(12.2)假设f解的存在惟一基于下面的定理。 定理12.1(Picard theorem)假定实值函数是连续的矩形区域D定义 ;当时;且f 满足Lipschitz条件:存在L>0则 。

常微分方程数值解法

i.常微分方程初值问题数值解法 常微分方程初值问题的真解可以看成是从给定初始点出发的一条连续曲线。差分法是常微分方程初值问题的主要数值解法,其目的是得到若干个离散点来逼近这条解曲线。有两个基本途径。一个是用离散点上的差商近似替代微商。另一个是先对微分方程积分得到积分方程,再利用离散点作数值积分。 i.1 常微分方程差分法 考虑常微分方程初值问题:求函数()u t 满足 (,), 0du f t u t T dt =<≤ (i.1a ) 0(0)u u = (i.1b) 其中(,)f t u 是定义在区域G : 0t T ≤≤, u <∞上的连续函数,0u 和T 是给定的常数。我们假设(,)f t u 对u 满足Lipschitz 条件,即存在常数L 使得 121212(,)(,), [0,]; ,(,)f t u f t u L u u t T u u -≤-?∈∈-∞∞ (i.2) 这一条件保证了(i.1)的解是适定的,即存在,唯一,而且连续依赖于初值0u 。 通常情况下,(i.1)的精确解不可能用简单的解析表达式给出,只能求近似解。本章讨论常微分方程最常用的近似数值解法-差分方法。先来讨论最简单的Euler 法。为此,首先将求解区域[0,]T 离散化为若干个离散点: 0110N N t t t t T -=<< <<= (i.3) 其中n t hn =,0h >称为步长。 在微积分课程中我们熟知,微商(即导数)是差商的极限。反过来,差商就是微商的近似。在0t t =处,在(i.1a )中用向前差商 10()()u t u t h -代替微商du dt ,便得 10000()()(,())u t u t hf t u t ε=++ 如果忽略误差项0ε,再换个记号,用i u 代替()i u t 便得到 1000(,)u u hf t u -= 一般地,我们有 1Euler (,), 0,1, ,1n n n n u u hf t u n N +=+=-方法: (i.4) 从(i.1b) 给出的初始值0u 出发,由上式可以依次算出1,,N t t 上的差分解1,,N u u 。

实验报告七常微分方程初值问题的数值解法

实验报告七常微分方程 初值问题的数值解法 Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】

浙江大学城市学院实验报告 课程名称 数值计算方法 实验项目名称 常微分方程初值问题的数值解法 实验成绩 指导老师(签名 ) 日期 2015/12/16 一. 实验目的和要求 1. 用Matlab 软件掌握求微分方程数值解的欧拉方法和龙格-库塔方法; 2. 通过实例学习用微分方程模型解决简化的实际问题。 二. 实验内容和原理 编程题2-1要求写出Matlab 源程序(m 文件),并有适当的注释语句;分析应用题2-2,2-3,2-4,2-5要求将问题的分析过程、Matlab 源程序和运行结果和结果的解释、算法的分析写在实验报告上。 2-1 编程 编写用向前欧拉公式和改进欧拉公式求微分方程数值解的Matlab 程序,问题如下: 在区间[],a b 内(1)N +个等距点处,逼近下列初值问题的解,并对程序的每一句添上注释语句。 Euler 法 y=euler(a,b,n,y0,f,f1,b1) 改进Euler 法 y=eulerpro(a,b,n,y0,f,f1,b1) 2-2 分析应用题 假设等分区间数100n =,用欧拉法和改进欧拉法在区间[0,10]t ∈内求解初值问题 ()()20(0)10y t y t y '=-??=? 并作出解的曲线图形,同时将方程的解析解也画在同一张图上,并作比较,分析这两种方法的精度。 2-3 分析应用题 用以下三种不同的方法求下述微分方程的数值解,取10h = 画出解的图形,与精确值比较并进行分析。 1)欧拉法; 2)改进欧拉法; 3)龙格-库塔方法; 2-4 分析应用题 考虑一个涉及到社会上与众不同的人的繁衍问题模型。假设在时刻t (单位为年), 社会上有人口()x t 人,又假设所有与众不同的人与别的与众不同的人结婚后所生后代也是与众不同的人。而固定比例为r 的所有其他的后代也是与众不同的人。如果对所有人来说出生率假定为常数b ,又如果普通的人和与众不同的人的婚配是任意的,则此问题可以用微分方程表示为:

实验报告七 常微分方程初值问题的数值解法

课程名称 数值计算方法 实验项目名称 常微分方程初值问题的数值解法 实验成绩 指导老师(签名 ) 日期 2015/12/16 一. 实验目的和要求 1. 用Matlab 软件掌握求微分方程数值解的欧拉方法和龙格-库塔方法; 2. 通过实例学习用微分方程模型解决简化的实际问题。 二. 实验内容和原理 编程题2-1要求写出Matlab 源程序(m 文件),并有适当的注释语句;分析应用题2-2,2-3,2-4,2-5要求将问题的分析过程、Matlab 源程序和运行结果和结果的解释、算法的分析写在实验报告上。 2-1 编程 编写用向前欧拉公式和改进欧拉公式求微分方程数值解的Matlab 程序,问题如下: 在区间[],a b 内(1)N +个等距点处,逼近下列初值问题的解,并对程序的每一句添上注释语句。 0(,)()y f x y a x b y a y '=≤≤= Euler 法 y=euler(a,b,n,y0,f,f1,b1) 改进Euler 法 y=eulerpro(a,b,n,y0,f,f1,b1) 2-2 分析应用题 假设等分区间数100n =,用欧拉法和改进欧拉法在区间[0,10]t ∈内求解初值问题 ()()20 (0)10 y t y t y '=-?? =? 并作出解的曲线图形,同时将方程的解析解也画在同一张图上,并作比较,分析这两种方法的精度。 2-3 分析应用题 用以下三种不同的方法求下述微分方程的数值解,取10h =

201 (0)1 y y x x y '=+≤≤?? =? 画出解的图形,与精确值比较并进行分析。 1)欧拉法; 2)改进欧拉法; 3)龙格-库塔方法; 2-4 分析应用题 考虑一个涉及到社会上与众不同的人的繁衍问题模型。假设在时刻t (单位为年),社会上有人口()x t 人,又假设所有与众不同的人与别的与众不同的人结婚后所生后代也是与众不同的人。而固定比例为r 的所有其他的后代也是与众不同的人。如果对所有人来说出生率假定为常数b ,又如果普通的人和与众不同的人的婚配是任意的,则此问题可以用微分方程表示为: () (1())dp t rb p t dt =- 其中变量()()()i p t x t x t =表示在时刻t 社会上与众不同的人的比例,()i x t 表示在时刻t 人口中与众不同的人的数量。 1)假定(0)0.01,0.02p b ==和0.1r =,当步长为1h =年时,求从0t =到50t =解()p t 的近似值,并作出近似解的曲线图形。 2)精确求出微分方程的解()p t ,并将你当50t =时在分题(b)中得到的结果与此时的精确值进行比较。 【MATLAB 相关函数】 求微分方程的解析解及其数值的代入 dsolve(‘egn1’, ‘egn2’,L ‘x ’) subs (expr, {x,y,…}, {x1,y1,…} ) 其中‘egn i ’表示第i 个方程,‘x ’表示微分方程中的自变量,默认时自变量为t 。 subs 命令中的expr 、x 、y 为符合型表达式,x 、y 分别用数值x1、x2代入。 >> syms x y z >> subs('x+y+z',{x,y,z},{1,2,3}) ans = 6 >> syms x >> subs('x^2',x,2) ans = 4 >> s=dsolve(‘12Dy y ∧=+’, ‘(0)1y =’, ‘x ’) ans = tan(14)x pi -*

常微分方程初值问题答案

1.(10分)对常微分方程初值问题(0)1(01) dy y dx y x ?=-???=≤≤? 取步长0.1,h = 分别用改进的Euler 法和标准的四阶Runge-Kutta 法作数值计算,写出公式和简要推导过程,并把结果填入表内。 解:(1) 改进的Euler 方法: 代入公式得10.905n n y y +=,即0.905n n y = …2分 (2)标准的四阶Runge-Kutta 方法: 1 12341213 2430.1(22)0.90483756 (0.05)0.95(0.05)0.9525(0.1)0.90475n n n n n n n n n n y y k k k k y k y k y k y k y k y k y k y +?=++++=?? =-?? =-+=-??=-+=-??=-+=-?? 即0.9048375n n y = ……(4分) 2. 对常微分方程初值问题12 (0)1(01) dy y dx y x ?=-???=≤≤? 取步长0.1,h = 分别用改进的Euler 法和标准的四阶Runge-Kutta 法作数值计算,写出公式和推导过程,并把结果填入表内。

解:(1) 改进的Euler 方法: 代入公式得10.95125n n y y +=,即0.95125n n y = ……………….(2分) (2)标准的四阶Runge-Kutta 方法: 1 12341213 2430.1(22)0.9512196 /2(0.05)/20.4875(0.05)/20.4878125(0.1)/20.47622n n n n n n n n n n y y k k k k y k y k y k y k y k y k y k y +?=++++=?? =-?? =-+=-??=-+=-??=-+=-?? 即0.95145314n n y =……(4分) 《数值分析》复习题 一、填空题 1.绝对误差限=末位的一半+单位,相对误差限=绝对误差限/原值*100% 1. 度量一根杆子长250厘米,则其绝对误差限为 ,相对误差限是 。 2. 测量一支铅笔长是16cm , 那么测量的绝对误差限是 ,测量的相对误差限是 。 3. 称量一件商品的质量为50千克,则其绝对误差限为 ,相对误差限是 。 2.利用平方差的方法 4. 在数值计算中,当a _____________

各类微分方程的解法大全

各类微分方程的解法 1.可分离变量的微分方程解法 一般形式:g(y)dy=f(x)dx 直接解得∫g(y)dy=∫f(x)dx 设g(y)及f(x)的原函数依次为G(y)及F(x),则G(y)=F(x)+C为微分方程的隐式通解 2.齐次方程解法 一般形式:dy/dx=φ(y/x) 令u=y/x则y=xu,dy/dx=u+xdu/dx,所以u+xdu/dx=φ(u),即du/[φ(u)-u]=dx/x 两端积分,得∫du/[φ(u)-u]=∫dx/x 最后用y/x代替u,便得所给齐次方程的通解 3.一阶线性微分方程解法 一般形式:dy/dx+P(x)y=Q(x) 先令Q(x)=0则dy/dx+P(x)y=0解得y=Ce- ∫P(x)dx,再令y=u e-∫P(x)dx代入原方程解得u=∫Q(x) e∫P(x)dx dx+C,所以y=e-∫P(x)dx[∫Q(x)e∫P(x)dx dx+C] 即y=Ce-∫P(x)dx +e- ∫P(x)dx∫Q(x)e∫P(x)dx dx为一阶线性微分方程的通解 4.可降阶的高阶微分方程解法 ①y(n)=f(x)型的微分方程 y(n)=f(x) y(n-1)= ∫f(x)dx+C1 y(n-2)= ∫[∫f(x)dx+C1]dx+C2 依次类推,接连积分n次,便得方程y(n)=f(x)的含有n个任意常数的通解②y”=f(x,y’) 型的微分方程 令y’=p则y”=p’,所以p’=f(x,p),再求解得p=φ(x,C1) 即dy/dx=φ(x,C1),所以y=∫φ(x,C1)dx+C2 ③y”=f(y,y’) 型的微分方程

令y ’=p 则y ”=pdp/dy,所以pdp/dy=f(y,p),再求解得p=φ(y,C 1) 即dy/dx=φ(y,C 1),即dy/φ(y,C 1)=dx,所以∫dy/φ(y,C 1)=x+C 2 5.二阶常系数齐次线性微分方程解法 一般形式:y ”+py ’+qy=0,特征方程r 2+pr+q=0 6.二阶常系数非齐次线性微分方程解法 一般形式: y ”+py ’+qy=f(x) 先求y ”+py ’+qy=0的通解y 0(x),再求y ”+py ’+qy=f(x)的一个特解y*(x) 则y(x)=y 0(x)+y*(x)即为微分方程y ”+py ’+qy=f(x)的通解 求y ”+py ’+qy=f(x)特解的方法: ① f(x)=P m (x)e λx 型 令y*=x k Q m (x)e λx [k 按λ不是特征方程的根,是特征方程的单根或特征方程的重根依次取0,1或2]再代入原方程,确定Q m (x)的m+1个系数 ② f(x)=e λx [P l(x)cos ωx+P n (x)sin ωx ]型 令y*=x k e λx [Q m (x)cos ωx+R m (x)sin ωx ][m=max ﹛l,n ﹜,k 按λ+i ω不是特征方程的根或是特征方程的单根依次取0或1]再代入原方程,分别确定Q m (x)和R m (x)的m+1个系数

常微分方程数值解法

第八章 常微分方程数值解法 考核知识点: 欧拉法,改进欧拉法,龙格-库塔法,单步法的收敛性与稳定性。 考核要求: 1. 解欧拉法,改进欧拉法的基本思想;熟练掌握用欧拉法,改进欧拉法、求微 分方程近似解的方法。 2. 了解龙格-库塔法的基本思想;掌握用龙格-库塔法求微分方程近似解的方 法。 3. 了解单步法的收敛性、稳定性与绝对稳定性。 例1 用欧拉法,预估——校正法求一阶微分方程初值问题 ? ??=-='1)0(y y x y ,在0=x (0,1)0.2近似解 解 (1)用1.0=h 欧拉法计算公式 n n n n n n x y y x y y 1.09.0)(1.01+=-+=+,1.0=n 计算得 9.01=y 82.01.01.09.09.02=?+?=y (2)用预估——校正法计算公式 1,0)(05.01.09.0)0(111)0(1=???-+-+=+=++++n y x y x y y x y y n n n n n n n n n 计算得 91.01=y ,83805.02=y 例2 已知一阶初值问题 ???=-='1 )0(5y y y 求使欧拉法绝对稳定的步长n 值。 解 由欧拉法公式 n n n n y h y h y y )51(51-=-=+ n n y h y ~)51(~1-=+

相减得01)51()51(e h e h e n n n -==-=-Λ 当 151≤-h 时,4.00≤

常微分方程数值解法

第八章 常微分方程的数值解法 一.内容要点 考虑一阶常微分方程初值问题:?????==0 0)() ,(y x y y x f dx dy 微分方程的数值解:设微分方程的解y (x )的存在区间是[a,b ],在[a,b ]内取一系列节 点a= x 0< x 1<…< x n =b ,其中h k =x k+1-x k ;(一般采用等距节点,h=(b-a)/n 称为步长)。在每个节点x k 求解函数y(x)的近似值:y k ≈y(x k ),这样y 0 , y 1 ,...,y n 称为微分方程的数值解。 用数值方法,求得f(x k )的近似值y k ,再用插值或拟合方法就求得y(x)的近似函数。 (一)常微分方程处置问题解得存在唯一性定理 对于常微分方程初值问题:?????==0 0)() ,(y x y y x f dx dy 如果: (1) 在B y y A x x 00≤-≤≤,的矩形内),(y x f 是一个二元连续函数。 (2) ),(y x f 对于y 满足利普希茨条件,即 2121y y L y x f y x f -≤-),(),(则在C x x 0≤≤上方程?????==0 0)() ,(y x y y x f dx dy 的解存在且唯一,这里C=min((A-x 0),x 0+B/L),L 是利普希茨常数。 定义:任何一个一步方法可以写为),,(h y x h y y k k k 1k Φ+=+,其中),,(h y x k k Φ称为算法的增量函数。 收敛性定理:若一步方法满足: (1)是p 解的. (2) 增量函数),,(h y x k k Φ对于y 满足利普希茨条件. (3) 初始值y 0是精确的。则),()()(p h O x y kh y =-kh =x -x 0,也就是有 0x y y lim k x x kh 0h 0 =--=→)( (一)、主要算法 1.局部截断误差 局部截断误差:当y(x k )是精确解时,由y(x k )按照数值方法计算出来的1~ +k y 的误差y (x k+1)- 1~ +k y 称为局部截断误差。 注意:y k+1和1~ +k y 的区别。因而局部截断误差与误差e k +1=y (x k +1) -y k +1不同。 如果局部截断误差是O (h p+1),我们就说该数值方法具有p 阶精度。

常微分方程数值解法

常微分方程数值解法 【作用】微分方程建模是数学建模的重要方法,因为许多实际问题的数学描述将导致求解微分方程的定解问题。把形形色色的实际问题化成微分方程的定解问题,大体上可以按以下几步: 1. 根据实际要求确定要研究的量(自变量、未知函数、必要的参数等)并确定坐标系。 2. 找出这些量所满足的基本规律(物理的、几何的、化学的或生物学的等等)。 3. 运用这些规律列出方程和定解条件。基本模型 1. 发射卫星为什么用三级火箭 2. 人口模型 3. 战争模型 4. 放射性废料的处理通常需要求出方程的解来说明实际现象,并加以检验。如果能得到解析形式的解固然是便于分析和应用的,但是我们知道,只有线性常系数微分方程,并且自由项是某些特殊类型的函数时,才可以得到这样的解,而绝大多数变系数方程、非线性方程都是所谓“解不出来” 的于是对于用微分方程解决实际问题来说,数值解法就是一个十分重要的手段。 1. 改进Euler 法: 2. 龙格—库塔( Runge—Kutta )方法: 【源程序】 1. 改进Euler 法: function [x,y]=eulerpro(fun,x0,x1,y0,n);%fun 为函数,(xO, x1)为x 区间,yO 为初始值,n 为子 区间个数 if nargin<5,n=5O;end h=(x1-xO)/n; x(1)=xO;y(1)=yO; for i=1:n x(i+1)=x(i)+h; y1=y(i)+h*feval(fun,x(i),y(i)); y2=y(i)+h*feval(fun,x(i+1),y1); y(i+1)=(y1+y2)/2; end 调用command 窗口 f=i nlin e('-2*y+2*x A2+2*x') [x,y]=eulerpro(f,O,,1,1O) 2 x +2x , (0 < x < , y(0) = 1 求解函数y'=-2y+2 2. 龙格—库塔( Runge—Kutta )方法: [t,y]=solver('F',tspan ,y0) 这里solver为ode45, ode23, ode113,输入参数F是用M文件定义的微分方程y'= f (x, y)右端的函数。tspan=[t0,tfinal]是求解区间,y0是初值。 注:ode45和ode23变步长的,采用Runge-Kutta算法。 ode45表示采用四阶-五阶Runge-Kutta算法,它用4阶方法提供候选解,5阶方法控制误差,是一种自适应步长(变步长)的常微分方程数值解法,其整体截断误差为(△ 口人5解 决的是Nonstiff(非刚性)常微分方程。

常微分方程的数值解

实验4 常微分方程的数值解 【实验目的】 1.掌握用MATLAB软件求微分方程初值问题数值解的方法; 2.通过实例用微分方程模型解决简化的实际问题; 3.了解欧拉方法和龙格-库塔方法的基本思想和计算公式,及稳定性等概念。 【实验内容】 题3 小型火箭初始重量为1400kg,其中包括1080kg燃料。火箭竖直向上发射时燃料燃烧率为18kg/s,由此产生32000N的推力,火箭引擎在燃料用尽时关闭。设火箭上升时空气阻力正比于速度的平方,比例系数为0.4kg/m,求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点的时的高度和加速度,并画出高度、速度、加速度随时间变化的图形。 模型及其求解 火箭在上升的过程可分为两个阶段,在全过程中假设重力加速度始终保持不变,g=9.8m/s2。 在第一个过程中,火箭通过燃烧燃料产生向上的推力,同时它还受到自身重力(包括自重和该时刻剩余燃料的重量)以及与速度平方成正比的空气阻力的作用,根据牛顿第二定律,三个力的合力产生加速度,方向竖直向上。因此有如下二式: a=dv/dt=(F-mg-0.4v2)/m=(32000-0.4v2)/(1400-18t)-9.8 dh/dt=v 又知初始时刻t=0,v=0,h=0。记x(1)=h,x(2)=v,根据MATLAB 可以求出0到60秒内火箭的速度、高度、加速度随时间的变化情况。程序如下: function [ dx ] = rocket( t,x ) a=[(32000-0.4*x(2)^2)/(1400-18*t)]-9.8; dx=[x(2);a]; end ts=0:1:60;

x0=[0,0]; [t,x]=ode45(@rocket,ts,x0); h=x(:,1); v=x(:,2); a=[(32000-0.4*(v.^2))./(1400-18*t)]-9.8; [t,h,v,a]; 数据如下: t h v a 0 0 0 13.06 1.00 6.57 13.19 13.30 2.00 26.44 26.58 1 3.45 3.00 59.76 40.06 13.50 4.00 106.57 53.54 13.43 5.00 16 6.79 66.89 13.26 6.00 240.27 80.02 12.99 7.00 326.72 92.83 12.61 8.00 425.79 105.22 12.15 9.00 536.99 117.11 11.62 10.00 659.80 128.43 11.02 11.00 793.63 139.14 10.38 12.00 937.85 149.18 9.71 13.00 1091.79 158.55 9.02 14.00 1254.71 167.23 8.33 15.00 1425.93 175.22 7.65 16.00 1604.83 182.55 6.99 17.00 1790.78 189.22 6.36 18.00 1983.13 195.27 5.76 19.00 2181.24 200.75 5.21 20.00 2384.47 205.70 4.69 21.00 2592.36 210.18 4.22 22.00 2804.52 214.19 3.79 23.00 3020.56 217.79 3.41 24.00 3240.08 221.01 3.07 25.00 3462.65 223.92 2.77 26.00 3687.88 226.56 2.50 27.00 3915.58 228.97 2.27

(完整版)专题一(二阶常微分方程解法)

二阶微分方程: 时为非齐次 时为齐次,0)(0)()()()(22≠≡=++x f x f x f y x Q dx dy x P dx y d 二阶常系数齐次线性微分方程及其解法: 2 122,)(2,,(*)0)(1,0(*)r r y y y r r q pr r q p qy y p y 式的两个根、求出的系数; 式中的系数及常数项恰好是,,其中、写出特征方程:求解步骤: 为常数; ,其中?'''=++?=+'+''式的通解:出的不同情况,按下表写、根据(*),321r r 二阶常系数非齐次线性微分方程 型 为常数; 型,为常数 ,]sin )(cos )([)()()(,)(x x P x x P e x f x P e x f q p x f qy y p y n l x m x ωωλλλ+===+'+'' 二阶常系数非齐次线性微分方程的一般形式是 ''+'+=y py qy f x () (1) 其中p q ,是常数。 方程(1)的通解为对应的齐次方程 0=+'+''qy y p y (2) 的通解Y 和方程(1)的一个特解*y 之和。即 *y Y y +=.我们已解决了求二阶常系数齐 次线性方程通解的问题,所以,我们只需讨论求二阶常系数非齐次线性微分方程的特解* y 的方法。 下面我们只介绍当方程(1)中的)(x f 为如下两种常见形式时求其特解*y 的方法。 一、 f x e P x x m ()()=?λ型 由于方程(1)右端函数f x ()是指数函数e x λ?与m 次多项式P x m ()的乘积,而指数

函数与多项式的乘积的导数仍是这类函数,因此,我们推测: 方程(1)的特解应为 y e Q x x *?=λ()( Q x ()是某个次数待定的多项式 ) y e Q x e Q x x x *??'=+'λλλ()() y e Q x Q x Q x x *?"=?+'+''λλλ[()()()]22 代入方程(1),得 e Q x p Q x p q Q x e P x x x m λλλλλ???''++'+++≡?[()()()()()]()22 消去e x λ?,得 ''++'+++≡Q x p Q x p q Q x P x m ()()()()()()22λλλ (3) 讨论 01、如果λ不是特征方程 r pr q 20++=的根。 即 02≠++q p λλ 由于P x m ()是一个m 次的多项式,欲使(3)的两端恒等,那未Q x ()必为一个m 次多项式,设为 Q x b x b x b x b m m m m m ()=++++--0111Λ 将之代入(3),比较恒等式两端x 的同次幂的系数,就得到以b b b b m m 01 1,,,,Λ-为未知数的m +1个线性方程的联立方程组,解此方程组可得到这m +1个待定的系数,并得到特解 y e Q x x m *?=λ() 02、如果λ是特征方程 r pr q 20++=的单根。 即 λλ20++=p q ,但 20λ+≠p 欲使(3)式的两端恒等,那么'Q x ()必是一个m 次多项式。 因此,可令 Q x x Q x m ()()=? 并且用同样的方法来确定)(x Q 的系数b b b b m m 0 11,,,,Λ-。 03、如果λ是特征方程 r pr q 20++=的二重根。 即 λλ20++=p q ,且 20λ+=p 。 欲使(3)式的两端恒等,那么''Q x ()必是一个m 次多项式 因此, 可令 Q x x Q x m ()()=?2 并且用同样的方法来确定)(x Q 的系数b b b b m m 011,,,,Λ-。

相关主题
文本预览
相关文档 最新文档