![](https://csdnimg.cn/release/download_crawler_static/1372855/bg5.jpg)
打造最优秀、专业和权威的 Matlab 技术交流平台!
5
http://www.matlabsky.cn
2.微分方程转换
好,上面我们把 Matlab 中的常微分方程(ODE)的解算器讲解的差不多了,下 面我们就具体开始介绍如何使用上面
的知识吧!
现实总是残酷的,要得到就必须先付出,不可能所有的 ODE 一拿来就可以直接使用,因此,在使用 ODE 解算
器之前,我们需要做的第一步,也是最重要的一步就是将微分方程组化成 Matlab 可接受的标准形式!
如果 ODEs 由一个或多个高阶微分方程给出,则我们应先将其变换成一阶显式常微分方程组!
下面我们以两个高阶微分方程构成的 ODEs 为例介绍如何将之变换成一个一阶显式常微分方程组。
step1.将微分方程的最高阶变量移到等式的左边,其他移到右边,并按阶次从低到高排列,假如说两个高阶微
分方程最后能够显式的表达成如下所示:
mmn
nmn
xftxxxxyyy
ygtxxxxyyy
−−
−−
=
=
LL
LL
然而现实总是残酷的,有时方程偏偏是隐式的,没法写成上面的样子,不用担心 Matlab 早就为我们想到了,这
个留在后面的隐式微分方程数值求解中再详细讲解!
step2.为每一阶微分式选择状态变量,最高阶除外
(1)
123
112
,','',,
,','',,
m
m
n
mmmmn
xxxxxxxx
xyxyxyxy
−
++++
====
====
L
L
从上面的变换,我们注意到,ODEs 中所有因变量的最高阶次之和就是需要的状态变量的个数,最高阶的微分式
(比如上面的 x
-(m)
和 y
(n)
)不需要给它一个状态变量
step3.根据上面选用的状态变量,写出所有状态变量的一阶微分的表达式