模型背景
应用场景
种群竞争模型
例如 s1=0.5,则表示对于供养甲的资源来讲,单位数量的乙的消耗为单位数量的甲的0.5倍,即表示乙对于该资源的占有能力是甲的0.5倍(即竞争力弱)
Matlab仿真及分析
竞争模型 fun.m
function dx=fun(t,x,r1,r2,n1,n2,s1,s2)
r1=1;
r2=1;
n1=100;
n2=100;
s1=0.5;
s2=2;
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]; %初始条件,即x与y两个物种的初始数量
opt=odeset('reltol',1e-6,'abstol',1e-9); %相对误差1e-6,绝对误差1e-9
[t,x]=ode45(@fun,ts,x0,opt); %使用5级4阶龙格—库塔公式计算
plot(t,x(:,1),'r',t,x(:,2),'b','LineWidth',2),grid;
pause;
plot(x(:,1),x(:,2),'LineWidth',2),grid %作相轨线
仿真结果
(1)设置自然增长率 r1=r2=1
(2)改变自然增长率 r1=r2=0.3
(3)修改甲和乙的最大容量 n1=10000, n2=100
(4)修改甲和乙的初始数量 x1=10, x2=100
(5)改变竞争率, s1=1, s2=0.7
(6)再次改变竞争率,s1=0.8, s2=0.7