matlab 中的 ODE 系统

System of ODEs in matlab

我不确定如何在 Matlab 上将以下 ODE 系统实现为单个函数:

dy/dt = y(t) - y(t)x(t)

dx/dt = -x(t) + y(t)x(t)

任何帮助将不胜感激,因为多年来我一直在解决我的整体问题的这一部分。谢谢

如果您不熟悉创建和仿真 ODE 的命令行工具,那么只需使用 Simulink,然后尝试通过 lsim 从命令行操作模型,最后尝试在 m 中创建模型文件。

这是一个 2 分钟的 simulink 练习,它允许您从下拉列表中选择您喜欢的求解器。

在定义要使用的常量之前,它应该如下所示:

function dzdt = odefunc(t,z) 
    x = z(1); y=z(2);
    dzdt = [ -x + x*y;  y - x*y ];
end

T, Z = ode45(odefunc, [T0  Tf], [ x0; y0 ])

作为

F(x,y) = x+log(1/x) + y+log(1/y)

是有界水平集的第一个积分,对于正初始值 x0,y0,解将保持有界(并且是周期性的)。