- 73
- 0
- 约1.46万字
- 约 45页
- 2020-03-21 发布于山东
- 举报
常微分方程初值问题数值解法
长安大学数信系 郑素佩
主要内容
•微分方程建模;
•常微分方程初值问题数值解法;
•应用实例(2007年人口增长预测)。
一、微分方程建模
如果有一个实际问题,要找一个量y ,
与另一个量t (时间或其他变量)的关系,
这种关系涉及量y 在每个t 时的瞬时变化率,
而且这个瞬时变化率与量y 、t 的关系可以
确定,那么这样的问题通常可以通过微分
方程来解决。
利用微分方程解决这样的问题的一般
步骤如下: (分为六步)
一、微分方程建模(续)
第一步:
注意到实际问题中有与数学中“导数”有关
的常用词,如
“速度”、“速率”(运动学、化学反应中);
“边际的”(经济学中);
“增长”(生物学、金融、经济等中);
“衰变”(放射性问题中);
以及与“改变”、“变化”、“增加”、“减
少”等有关词语,都可能是微分方程的问题。
一、微分方程建模(续)
第二步:梳理出实际问题中所涉及的各种量,
使用一致的物理单位。
第三步:梳理出与结果有关的并且有着函数
关系(待求)的两个量作为要求的函数的自
变量t 与因变量 y ,而与变化率有关的量即
是待求函数的导数。
第四步:了解问题中所涉及的原则或物理定
律。
二、微分方程建模(续)
第五步:依据第二、第三、第四步建立微分
方程。 已知中的某个t 对应 的y 的值(可能
还有y 的导数的值)就是求解微分方程所需
要的初始值。
第六步:求微分方程的解并给出问
题的答案。
下面我集中讲解如何采用数值方法求解
常微分方程数值解的方法。
二、常微分方程初值问题数值解法
主要内容:
Euler法;
Runge-Kutta法;
数值解的Matlab实现。
三、常微分方程初值问题数值解法(续)
考虑一阶常微分方程的初值问题/ Initial-Value Problem / :
dy f (x , y ) x [a, b]
dx
y (a) y 0
只要f (x, y ) 在[a, b] R1 上连续,且关于y 满足Lipschitz 条
件, | f (x, y ) f (x, y ) |L | y y |
1 2 1 2
即存在与x, y 无关的常数L 使对任意定义在 [a, b] 上的y (x)
1
和y (x) 都成立,则上述初值问题存在唯一解。
2
要计算出解函数y (x) 在一系列节点a = x x … x = b
0 1 n
处的近似值 y y (x ) (i 1, ... , n) 。
i i
节点间距h x x (i 0, ... ,n 1) 为步长,通常采用等距节点,
i i1 i
即取h = h (常数) 。
i
§1 欧拉方法/ Euler’s Method /
欧拉公式:亦称为欧拉折线法
/ Euler’s polygonal arc method/
y (x ) y (x )
原创力文档

文档评论(0)