我不确定如何在Matlab上将以下ODE系统实现为单个函数:dy/dt = y(t) - y(t)x(t)dx/dt = -x(t) + y(t)x(t)任何帮助都将不胜感激,因为我已经被整体问题的这一部分卡住了很长时间。谢谢。
在定义要使用的常量之前,它应该是这样的: 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 ]) As F(x,y) = x+log(1/x) + y+log(1/y) 如果这是一个具有有界级别集的第一积分,那么对于正的初始值 x0,y0,解将保持有界(并且是周期性的)。
如果您不熟悉命令行工具来创建和模拟ODE,则只需使用Simulink,然后尝试通过lsim从命令行操作模型,最后尝试在m文件中创建模型。 这是一个在Simulink中的2分钟练习,允许您从下拉列表中选择任何求解器。