matlab中的ODE系统

时间:2016-11-24 21:10:06

标签: matlab ode

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

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

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

任何帮助都会非常感激,因为长期以来一直困在我的整体问题的这一部分。感谢

2 个答案:

答案 0 :(得分:3)

最多定义要使用的常量,它应如下所示:

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将保持有界(并且是周期性的)。

答案 1 :(得分:0)

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

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

enter image description here