Matlab 得到3个相互竞争物种的地块
我想为竞争三个物种的模型制作一个代码,以获得绘图(polt 3d z与x、y和2d绘图x、y、z与时间) 我的模型是Matlab 得到3个相互竞争物种的地块,matlab,matlab-figure,Matlab,Matlab Figure,我想为竞争三个物种的模型制作一个代码,以获得绘图(polt 3d z与x、y和2d绘图x、y、z与时间) 我的模型是 x'=(r1-a1x-b1y-c1z)x y'=(r2-a2x-b2y-c2z)y z'=(r3-a3x-b3y-c3z)z 在哪里 r1=1.5; r2=2.65; r3=3.45; a1=0.1; b1=0.3; c1=0.01; b2=0.2; a2=0.3; c2=0.2; c3=0.2; a3=0.01; b3=0.1. 如有任何帮助,我们将不胜感激 解决问题: %
x'=(r1-a1x-b1y-c1z)x
y'=(r2-a2x-b2y-c2z)y
z'=(r3-a3x-b3y-c3z)z
在哪里
r1=1.5; r2=2.65; r3=3.45;
a1=0.1; b1=0.3; c1=0.01; b2=0.2;
a2=0.3; c2=0.2; c3=0.2; a3=0.01; b3=0.1.
如有任何帮助,我们将不胜感激 解决问题:
% Define diff. equations, time span and initial conditions, e.g.
tspan = [0 20];
y0 = [0.2 0.2 0.2];
r1=1.5; r2=2.65; r3=3.45;
a1=0.1; a2=0.3; a3=0.01;
b1=0.3; b2=0.2; b3=0.1;
c1=0.01; c2=0.2; c3=0.2;
dy = @(t,y) [
(r1-a1*y(1)-b1*y(2)-c1*y(3))*y(1);
(r2-a2*y(1)-b2*y(2)-c2*y(3))*y(2);
(r3-a3*y(1)-b3*y(2)-c3*y(3))*y(3)];
% Solve differential equations
[t,y] = ode45(dy, tspan, y0);
现在只需绘制结果:
% Plot all species against time
figure(1)
plot(t,y)
% 3D plot of z against xy
figure(2)
plot3(y(:,1), y(:,2), y(:,3))
grid on
xlabel('x')
ylabel('y')
zlabel('z')
Mathworks在他们的颂歌套件中表现出色。第一次尝试请参考这些页面和相关页面。谢谢您的帮助。。在z对x和y的图中,你能告诉我怎么做吗?我不知道你的意思。是否要操纵数据,使其呈螺旋状插入?或者你想让这些精确的数据以螺旋状的方式绘制出来吗?前者意味着您损坏了数据,而后者将很困难,因为绘图现在代表了您的实际数据。也许我误解了什么?此外,如果答案本身是正确的,请接受它(单击复选框)并进行投票。我真的很感激:PDo你想操纵数据,让它螺旋上升?是的,我已经找到了平衡点(8个平衡点),所以第八个平衡点是稳定的,解的行为是螺旋的,基于特征值
(-3.4576,-0.0840-1.3723i,-0.0840+1.3723i)
,那么如何证明它是螺旋的,你能把你的整个问题都贴出来吗?我想这与优化和/或控制理论有关,对吗?它与动力系统(数学生物学)有关。我的问题是这个模型,所以我需要在数值上找到解的行为,就像在链接中一样。看这个例子,它几乎是相同的模型,但唯一的区别是第二个等式中的加号。