數學模型演算法實現之種群競爭模型

2021-09-26 09:43:45 字數 687 閱讀 6098

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)];

p3.m:

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 %作相軌線

自然增長率r1\r2

物種容量n1\n2

各物種初始數量x10\x20

對於供養甲的資源來說,單位數量的乙(相對n2)的消耗為單位數量甲 (相對n1)消耗的s1倍,s2同理(選參合理下可共存)

種群競爭模型

種群競爭模型是當兩個種群為爭奪同一食物 和生存空間相互競爭時,常見的結局是,優勝劣汰。使用種群競爭模型可以描述兩個種群相互競爭的過程,分析產生各種結局的條件。種群競爭模型 import numpy as np import matplotlib.pyplot as plt from scipy.in...

數學模型演算法實現之Dijkstra演算法

dijkstra演算法能求乙個頂點到另一頂點最短路徑。它是由dijkstra於1959年提出的。實際它能求出初始點到其它所有頂點的最短路徑。dijkstra演算法是一種標號法 給賦權圖的每乙個頂點記乙個數,稱為頂點的標號 臨時標號,稱t標 號,或者固定標號,稱為p標號 t標號表示從始頂點到該標點的最...

數學模型演算法實現之Lingo求解一

lingo基本用法說明 模型以model開始,end結束 集合相當於下標,quarters lingo中模型優化由四部分組成 1.集合段 定義集合變數及元素和屬性 sets endsets 2.目標與約束段 目標函式 約束條件 需要用到lingo內部函式如 sum和 for 3.資料段 對集合屬性輸...