Matlab中的ODE系统

3
我不确定如何在Matlab上将以下ODE系统实现为单个函数:
dy/dt = y(t) - y(t)x(t)
dx/dt = -x(t) + y(t)x(t)
任何帮助都将不胜感激,因为我已经被整体问题的这一部分卡住了很长时间。谢谢。

选择一个ODE求解器:ODE系统。 - TroyHaskin
谢谢Troy,很有帮助! - Student201
2个回答

4

在定义要使用的常量之前,它应该是这样的:

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


0

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

这是一个在Simulink中的2分钟练习,允许您从下拉列表中选择任何求解器。

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接