《MATLAB智能算法超级学习手册》一一2.2 种群竞争模型的讨论

简介:

本节书摘来自异步社区出版社《MATLAB智能算法超级学习手册》一书中的第2章,第2.2节,作者:MATLAB技术联盟 , 高飞 , 许玢更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.2 种群竞争模型的讨论

MATLAB智能算法超级学习手册
蓝鲸和长须鲸是两个生活在同一海域的相似的种群,因此认为它们之间存在竞争。估计蓝鲸的固有增长率每年为5%,长须鲸为每年8%。估计蓝鲸环境承载力(环境能够支持的鲸鱼的最大数量)为150 000条,长须鲸为400 000条。鲸鱼竞争的程度是未知的。过去约100年剧烈的捕捞已经使鲸鱼数量减少,蓝鲸大约5 000条,长须鲸大约70 000条。蓝鲸是否会灭绝?

解:该问题是对2.1节第(1)、(2)、(3)问的具体化。根据实际统计数据,进行蓝鲸和长须鲸的种群竞争模型模拟计算。假设蓝鲸和长须鲸的增长情况仅与两者之间的竞争有关,与其他动物无关;不考虑环境改变带来的影响,环境承载力是稳定的;人类停止对鲸鱼的捕杀,鲸鱼按自然条件繁衍。

建立相应的数学模型:
image

由于蓝鲸和长须鲸的竞争是未知的,根据实际情况,当s 1、s 2取2时,种群间的相互影响已经非常大,所以估计s 1、s 2的区间均为(0,2)时,就可以很好地模拟实际情况。以0.1为步长,采用穷列举法,代入不同的s 1、s 2,求出最后蓝鲸与长须鲸的稳定状态数值。求解的图形如图2-8、图2-9所示。
image

image

不同情况下s 1、s 2的具体数值列表如下。
image
由以上三表所示结果可知,由于蓝鲸的固有增长率每年为5%,长须鲸为每年8%,蓝鲸环境承载力为150 000条,长须鲸为400 000条,所以长须鲸在相同的竞争程度条件下明显具有一定的优势。因而,当蓝鲸具有优势,最后稳态值为x=150000,y=0时的要s 1、s 2必定是s 2较大、s 1较小,而表2-2中s 1基本小于1、s 2基本大于1,正好体现了在蓝鲸对长须鲸影响小、蓝鲸对长须鲸影响大的条件下,蓝鲸具有优势的实际情况。

同样,当长须鲸具有优势,最后稳态值为x=0,y=400000时,根据实际,必然是s1较大(s 1>1),而s2较小(s2<1);同时,由于长须鲸本身对环境的适应力较强(体现在增长率和环境承载力较大),所以即使在相互抑制作用均较大(s1,s 2>1)时,仍然是长须鲸处于优势地位。综合所述,s 1>1时,无论s 2取何值,长须鲸都具有优势。表2-3中,s 1在1.1以上时,x=0,说明理论计算结果很好地符合实际情况。

通过以上分析可知,蓝鲸不一定毁灭,s 1、s 2的取值不同时,最后的稳定状态不同。

种群函数:

function dy=zhongqun4(t,y)
global E  F  B  K 
dy=zeros(2,1);
dy(1)=0.05*y(1)*(1-y(1)/150000-E(B)*y(2)/400000);
dy(2)=0.08*y(2)*(1-F(K)*y(1)/150000-y(2)/400000);

主程序:

global E  F  B  K 
E=0:0.1:2;
E=E';
F=0:0.1:2;
F=F';
B=1;K=1;a=1;b=1;c=1;d=1;
S=zeros(140,2);      %记录当蓝鲸与长须鲸的最后稳定状态都不为0时的s_ __1___,s_ __2___值
H=zeros(250,2);       %记录蓝鲸具有优势,最后稳态值为x=150 000,y=0时的s_ __1___,s_ __2___值
U=zeros(250,2);      %记录长须鲸具有优势,最后稳态值为x=0,y=400 000时的s1,s2值
Num=zeros(441,4);    %记录蓝鲸与长须鲸的最后稳态值
while B<22
     K=1;
     while K<22
        options =odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-5]);
        [T,Y] = ode45('zhongqun4',[0 2000],[5000 70000],options);
        [m,n]=size(Y);
        Num(a,1)=Y(m,1);
        if Num(a,1)<1
           Num(a,1)=0;
        end
        Num(a,2)=Y(m,2);
        if Num(a,2)<1
           Num(a,2)=0;
        end
       Num(a,3)=E(B);
       Num(a,4)=F(K);
        if ((Y(m,1)-1>0)&(Y(m,2)-1>0))==1
               S(b,1)=E(B);
               S(b,2)=F(K);
               b=b+1;
        end
         if (Y(m,2)-1)<0
               H(c,1)=E(B);
               H(c,2)=F(K);
               c=c+1;
         end
         if (Y(m,1)-1)<0
               U(d,1)=E(B);
               U(d,2)=F(K);
               d=d+1;
        end
        a=a+1;
        K=K+1;
     end
     B=B+1;
end

当s 1、s 2改变时,蓝鲸与长须鲸的量数:

>> [s1,s2]=meshgrid(Num(:,3),Num(:,4));
>> LANJING=griddata(Num(:,3),Num(:,4),Num(:,1),s1,s2,'v4');
CHANGXUJING=griddata(Num(:,3),Num(:,4),Num(:,2),s1,s2,'v4');
>> mesh(s1,s2,LANJING)
>> title('s1和s2改变时,蓝鲸的数量变化图像');
mesh(s1,s2,CHANGXUJING);
title('s1和s2改变时,长须鲸的数量变化图像')
相关文章
|
3天前
|
算法 调度
电网两阶段鲁棒优化调度模型(含matlab程序)
电网两阶段鲁棒优化调度模型(含matlab程序)
|
1天前
|
机器学习/深度学习 人工智能 算法
高性价比发文典范——101种机器学习算法组合革新骨肉瘤预后模型
随着高通量测序技术的飞速发展和多组学分析的广泛应用,科研人员在探索生物学奥秘时经常遇到一个令人又爱又恼的问题:如何从浩如烟海的数据中挖掘出潜在的疾病关联靶点?又如何构建一个全面而有效的诊断或预后模型?只有通过优雅的数据挖掘、精致的结果展示、深入的讨论分析,并且辅以充分的湿实验验证,我们才能锻造出一篇兼具深度与广度的“干湿结合”佳作。
12 0
高性价比发文典范——101种机器学习算法组合革新骨肉瘤预后模型
|
3天前
|
数据安全/隐私保护
matlab程序, 脉冲波合成与提取,滑冲效应、方向性效应,自定义脉冲模型,提取脉冲波
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
3天前
|
算法 调度
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
考虑需求响应的微网优化调度模型【粒子群算法】【matlab】
|
3天前
|
算法 调度 SoC
电动汽车充放电V2G模型(Matlab代码)
电动汽车充放电V2G模型(Matlab代码)
|
3天前
|
算法
考虑区域多能源系统集群协同优化的联合需求侧响应模型(matlab代码)
考虑区域多能源系统集群协同优化的联合需求侧响应模型(matlab代码)
|
3天前
|
供应链 算法
市场模式下光伏用户群的电能共享与需求响应模型(matlab代码)
市场模式下光伏用户群的电能共享与需求响应模型(matlab代码)
|
3天前
|
调度
储能参与调峰调频联合调度模型(matlab代码)
储能参与调峰调频联合调度模型(matlab代码)
|
3天前
|
调度 SoC
【MPC|云储能】基于模型预测控制(MPC)的微电网调度优化的研究(matlab代码)
【MPC|云储能】基于模型预测控制(MPC)的微电网调度优化的研究(matlab代码)
|
3天前
|
算法 调度
【免费】基于模型预测算法的含储能微网双层能量管理模型(MATLAB)
【免费】基于模型预测算法的含储能微网双层能量管理模型(MATLAB)

热门文章

最新文章