概述
可以描述两个种群相互竞争的过程,分析各种结果的条件。甲乙两个种群独立生存时的数量变化均服从Logistic规律,一起生存时,乙对甲增长有阻滞作用,与乙的数量成正比;甲对乙也有同样的作用
应用举例
不同企业推出的类似产品间的竞争
代码
function dx=fun(t,x,r1,r2,n1,n2,s1,s2)
% r1 r2为物种1,物种2 的自然增长率
r1=1;
r2=1;
%n1 n2为他们的最大容量
n1=100;
n2=100;
% s1的含义是对于供养甲的资源来说,单位数量的乙(相对n2)的消耗为单位数量甲(相对n1)消耗的s1倍,s2同理。
% 哪个小,表示哪个物种的生存能力比较强
% s1=0.5;
% s2=2;
s1 = 0.8;
s2 = 0.7;
dx=[r1*x(1)*(1-x(1)/n1-s1*x(2)/n2);r2*x(2)*(1-s2*x(1)/n1-x(2)/n2)];
h=0.1;%所取时间点间隔
ts=[0:h:30];%时间区间
x0=[10,10];%初始条件,即为初始数量
opt=odeset('reltol',1e-6,'abstol',1e-9);%相对误差1e-6,绝对误差1e-9
[t,x]=ode45(@fun,ts,x0,opt);%使用5级4阶龙格—库塔公式计算 %@fun表示引用fun这个函数
plot(t,x(:,1),'r',t,x(:,2),'b','LineWidth',2),grid;
xlabel('时间');
ylabel('物种数量');
title('两种物种数量变化图');
legend('物种1','物种2');
pause; %图像1画好后,按任意键会显示图像2
plot(x(:,1),x(:,2),'LineWidth',2),grid %作相轨线
title('相轨迹');
xlabel('物种1');
ylabel('物种2');
结果截图
这里的甲和乙是可以共存的;
如果在fun.m中将s1 s2改为s1 = 0.5; s2 = 1.5 则最后甲存活乙灭绝