天天看點

《MATLAB智能算法超級學習手冊》一一2.1 種群競争微分方程模型

本節書摘來自異步社群出版社《matlab智能算法超級學習手冊》一書中的第2章,第2.1節,作者:matlab技術聯盟 , 高飛 , 許玢更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

matlab智能算法超級學習手冊

種群競争模型是一個動态的過程,種群生存期間有着出生、死亡、遷入、遷出等問題。是以,種群數量較難确定,其種群競争的數學模型隻能通過反複的修正不斷地完善,進而更加接近實際。本節就種群競争微分方程模型的求解展開讨論。

《MATLAB智能算法超級學習手冊》一一2.1 種群競争微分方程模型

并給定參數r 1、r 2、s 1、s 2、n 1、n 2後,由式(2.1)~式(2.4)可确定兩種群數量的變化規律。

(1)設r 1=r 2=1,n 1=n 2=100,s 1=0.5,,s 2=2,,x 0= y 0=10,計算x(t)、y(t),畫出它們的圖形及相圖x(t)、y(t),說明時間t充分大時x(t)、y(t)的變化趨勢。

解:對于微分方程的求解,首先建立微分方程函數多數情況下,用數值解代替代數解進行方程的模拟,自定義種群函數程式zhongqun( ):

針對題目中已知的初始條件,編寫相應的matlab腳本檔案程式,運作得圖2-1、圖2-2。

《MATLAB智能算法超級學習手冊》一一2.1 種群競争微分方程模型

由圖2-1、圖2-2可知:在t=10時,x達到穩定值100,y達到穩定值0。

結論:時間t充分大時,x(t)、y(t)的值穩定在x=100,y=0。

圖2-1的程式如下。

圖2-2的程式如下。

(2)改變r 1、r 2、n 1、n 2、x 0、y 0,維持s 1、s 2不變,繪出r 1=1.2,r 2=1.1,n 1=200,n 2=120,x 0=y 0=10時的函數圖像及r 1=0.9,r 2=1.5,.n 1=500,.n 2=800,x 0= y 0=10時的函數圖像。

解:同第(1)問,改變初始值,程式運作後依次如圖2-3、圖2-4所示。圖2-3為r 1=1.2,r 2=1.1,n 1=200,n 2=120,,x 0= y 0=10時的函數圖像;圖2-4為r 1=0.9,r 2=1.5,n 1=500,n 2=800,x 0= y 0=10時的函數圖像。

《MATLAB智能算法超級學習手冊》一一2.1 種群競争微分方程模型

圖2-3的程式如下。

運作的腳本檔案程式如下。

圖2-4的程式如下。

綜合結論:改變r、n的初始值,甲、乙種群的最終穩定狀态不會改變,都是種群甲達到環境最大承載值,而種群乙變為0。參數r、n的初始值的改變僅會影響達到穩定的速度,不會改變優勢種群甲的優勢地位,即最終的穩定狀态情況。

若s 1=1.5,s 2=0.7,繪出函數圖像,如圖2-5所示。

《MATLAB智能算法超級學習手冊》一一2.1 種群競争微分方程模型

在圖2-5中,當t=20時,y達到最大容量穩定值100,種群x變為零。當s 1小而s 2大時(s 1與s 2相差較大時,s 1< 1,s 2>1),乙消耗甲的資源少,乙對甲影響小,同時甲消耗乙的資源多,甲對乙影響大,進而乙處于不利地位,甲處于有利地位,是以最後種群甲達到環境最大承載量,而種群乙則變為0。

相反,當s 1大而s 2小時(s 1與s 2相差較大時,s 1>1,s 2<1),乙消耗甲的資源多,乙對甲影響大,同時甲消耗乙的資源少,甲對乙影響小,乙處于有利地位,甲處于不利地位,是以最後種群乙達到環境最大承載量,而種群甲則變為0。

程式如下。

(3)試驗當s 1=0.8,s 2=0.7時會有什麼結果;當s 1=1.5,s 2=1.7時又會有什麼結果。你能解釋這些結果嗎?

解:當s 1=0.8,s 2=0.7時,繪制圖像如圖2-6所示;當s 1=1.5,s 2=1.7時,繪制圖像,如圖2-7所示。

《MATLAB智能算法超級學習手冊》一一2.1 種群競争微分方程模型

由這兩個圖可知:

① 在s 1<1,s 2<1,且s 1、s 2相近時,由于雙方的抑制作用數值較小,是以任何一方都無法占據絕對優勢 ,是以雙方均無法消滅對方,隻能在最大承載量以下達到穩定狀态,且受到影響小的(圖2-6、圖2-7中乙受到的影響小)穩定值大。

② 當s 1>1,s 2>1,且s 1、s 2相近時,由于s 1、s 2均比較大,對于種群的抑制力非常大,以至于一旦競争處于下風,就會受到很大的抑制作用而無法生存。s 1、s 2相近,仍然有一方會滅絕。但這是一個較長的過程,一方無法短時間内完全抑制對方,另一方因受到抑制,故增長也會減緩。雖然r、n初值均相等,但由于s 1

圖2-6的程式如下。

圖2-7的程式如下。

繼續閱讀