本文介绍了种群竞争模型,通过数学建模来模拟两个种群争夺同一资源时的竞争
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
这篇文章距离上次更新已经过去了 798 天,其中的某些内容可能不再适用了,请谨慎阅读。
种群竞争模型
当两个种群为争夺同一食物来源和生活空间相互竞争时,常见的结局是一方被淘汰,另一方获得优势。这种现象在生物学中被称为“竞争”。在数学建模中,我们可以通过种群竞争模型来模拟这种现象。
数学模型
有甲乙两个种群,它们独自生存时的数量变化均服从 Logistic 规律:
dtdN1dtdN2=r1N1(1−K1N1)=r2N2(1−K2N2) 其中N1 为甲种群数量,N2 为乙种群数量,r1 为甲种群的增长率,r2 为乙种群的增长率,K1 为甲种群的容量,K2 为乙种群的容量。
两种群在一起生存时,乙对甲增长的阻滞作用与乙的数量成正比;甲对乙有同样的作用:
dtdN1dtdN2=r1N1(1−K1N1−s1K2N2)=r2N2(1−K2N2−s2K1N1) 其中s1 甲种群个体的生存能力,值越小生存能力越强;s2 同理。
MATLAB 代码
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 
 | function [t, N1, N2] = population_competition(r1, r2, K1, K2, s1, s2, N10, N20, t0, tf, dt)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 t = t0:dt:tf;
 N1 = zeros(1, length(t));
 N2 = zeros(1, length(t));
 N1(1) = N10;
 N2(1) = N20;
 
 
 for i = 1:length(t)-1
 N1(i+1) = N1(i) + dt * r1 * N1(i) * (1 - N1(i)/K1 - s1 * N2(i)/K2);
 N2(i+1) = N2(i) + dt * r2 * N2(i) * (1 - N2(i)/K2 - s2 * N1(i)/K1);
 end
 end
 
 | 
例1
甲乙种群个体生存能力相差较大,其他条件相同:
| 12
 
 | [t, N1, N2] = population_competition(0.5, 0.5, 100, 100, 0.5, 2, 10, 10, 0, 20, 0.01);plot(t, N1, t, N2, 'LineWidth', 2), grid on, xlabel('t'), ylabel('N'), legend('N1', 'N2');
 
 | 
最终甲种群达到了环境容量,乙种群灭绝:

例2
甲乙种群生存能力相差较小,其他条件相同:
| 12
 
 | [t, N1, N2] = population_competition(0.5, 0.5, 100, 100, 0.7, 0.6, 10, 10, 0, 50, 0.01);plot(t, N1, t, N2, 'LineWidth', 2), grid on, xlabel('t'), ylabel('N'), legend('N1', 'N2');
 
 | 
甲乙种群共存,生存能力较强的乙种群数量收敛在高位:
