1. 程式人生 > >數學建模:種群競爭模型

數學建模:種群競爭模型

今天來介紹一下關於種群競爭模型的MATLAB實現方法:

種群競爭模型是當兩個種群為爭奪同一食物來源和生存空間相互競爭時,常見的結局是,競爭力弱的滅絕,競爭力強的達到環境容許的最大容量。使用種群競爭模型可以描述兩個種群相互競爭的過程,分析產生各種結局的條件。

有甲乙兩個種群,它們獨自生存時數量變化均服從Logistic規律:

兩種群在一起生存時,乙對甲增長的阻滯作用與乙的數量成正比;甲對乙有同樣作用。

其中x(t),y(t)分別為甲乙兩種群的數量,r1、r2為它們的固有增長率, n1 n2為它們的最大容量。s1的含義是對於供養甲的資源來說,單位數量的乙(相對n2)的消耗為單位數量甲(相對n1)消耗的s1倍,s2同理。 

MATLAB的具體實現方法如下:

1、首先開啟MATLAB軟體,在其主介面的編輯器中分別寫入下列兩個程式:

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];%初始條件
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  %作相軌線

2、第一個程式命名為fun.m,第二個程式命名為P2.m,然後儲存在同一目錄下,點選執行,結果如下:

從圖中可以明顯看出,有紅色曲線所代表的種群具有競爭優勢,在一定時間內種群數量達到最大值,而藍色曲線所代表的種群在一定時間內會趨於滅亡,至此,種群競爭模型基本介紹完畢,請大家繼續關注!!!