在 Matlab 中使用 ode45 简介
Matlab 中常微分方程常用的函数是 ODE45,这个函数能够利用--龙哥库塔法--有效求解带
时间变量步长的计算。Ode45 用于求解如下的一般问题:
(1)
其中,时间 t 是独立变量,x 为
时间相关矢量,是时间 t 和 x 的函数。当(1)右边的是固定的,且给定 x 的初始值,那么
问题的解是唯一的。
在 ME175 中,解法是不完整的,但是只要你解决了问题,就可以获得 ODE 代表的系统运
动趋势。这有利于得到一个直观的印象,看起来很复杂的常微分方程,代表的质点运动轨
迹确实简单明了的。以下简要解释如何得到运动轨迹:
第一步:
对给定的 ODE 方程进行降阶处理,得到一系列一阶方程
这就是你要做的第一步,在一张草稿纸上处理。例如,给定 ODE 方程如下:
(2)
对本问题,矢量 x 有两个组成
分量:y 和,或
(3)
且
(4)
其中,用(3)中的式子
代 表 了 y , , , 于 是 把
(2)改写为(4)。
如果求解的问题有更多阶数更多变量呢?例如,我们除了有上面的方程(2),同时还有以
下的方程:
(5)
那么,我们可以通过构造
更 大 的矢 量 x 同 时求 解
y,z:
(6)
然后
(7)
以及
(8)
其中,y 变量和 z 变量
的放置位置对求解不造成影响。实际上,任意次序都是有效的,例如
和
但是重要的是,在整个计算过程中,
你使用的顺序都必须和一阶 ODE 方程中定义的变量顺序相同。之后,如果你使用的是
(7)中给定的的式子,那么系统的一阶 ODE 方程,由以下方程组组成。