求解一阶ODE
通过求解式1所示的一般一阶微分方程,可以说明在 Glink 中求解 ODE(常微分方程)的基本过程:
式1
初始条件为y(0)=c。
在 Glink 中,将该信号输入积分器模块,即可求解式 1。从数学层面来看,该概念等同于式2。图1显示了此求解一阶微分方程方法的框图。
式2
图1 求解一阶ODE的示意图
用牛顿冷却定律说明上述概念,该定律指出,物体温度的变化率与物体和周围环境之间的温差成正比。从数学层面来看,该定律以一阶微分方程的形式给出,如式3所示。
式3
其中k>0,是冷却常数。Ta是周围温度,T是物体的当前温度。
图2给出了式3的 Glink 模型,针对T0=60°C、Ta=20°C和k=0.1s-1的情况。其中,T0是物体的初始温度(初始条件)。
解决方案的目标是计算物体随时间变化的温度。模型仿真的输出如图3所示。
图2 求解公式3
图3 图2的模型输出
求解二阶或更高阶ODE
为了求解 Glink 中的二阶或更高阶 ODE ,需要使用一系列积分器。考虑式4中给出的一般二阶 ODE :
式4
式4使用两个积分器求解。第一个积分器以作为输入,输出。第二个积分器以作为输入,输出。
该过程如图4所示。
这是通过使用状态变量将给定的二阶 ODE 重写为两个一阶 ODE 来实现的。
例如,式4可以重写为两个线性一阶 ODE 的系统,如式5所示。为了进一步阐明重写过程,
考虑式6中给出的二阶 ODE ,它仿真了在无摩擦水平表面上滑动的弹簧质量系统的简谐运动。
式7显示了与式6相对应的一阶 ODE 系统。式7的 Glink 模型(其中m=2和k=5)如图5所示。图6显示了一些振荡的仿真解决方案。
类似地,通过将方程重写为相应的一阶 ODE 系统,可以将这种求解二阶 ODE 的方案扩展到任何高阶 ODE 。
式5
图4 求解二阶ODE的示意图
式6
其中,k为弹簧常数,m为滑块的质量,x为弹簧相对于其未拉伸平衡位置的位移。
其中,k为弹簧常数,m为滑块的质量,x为弹簧相对于其未拉伸平衡位置的位移,z为状态变量。
图5 公式6的Glink模型
图6 图5的模型输出