2024 MCM数学建模美赛2024年A题复盘,思路与经验分享:资源可用性与性别比例 | 七鳃鳗性别比例变化对七鳃鳗种群的影响(三)

目录

分析题目

建立模型

计算结果

分析结果

代码


分析题目

对于第二问:探究七鳃鳗性别比例变化对七鳃鳗种群的影响。我们来分析一下题目。

要探究七鳃鳗性别比例变化对七鳃鳗种群的影响,我们就要搞清楚性别平衡时,它的种群多大,然后性别比例不平衡时,它的种群多大。然后再就能分析性别比例对种群的影响。

建立模型

通过上面的分析,我们可以知道要建立一个模型来描述性别比例和七鳃鳗种群的关系。也就是说我们的要包含两个元素,一个是性别比例,一个是七鳃鳗的种群数量。这个模型我们依然在logistics增长模型基础上进行改造。也就是我们建立了一个七鳃鳗种群的增长模型,这里的思路和上一篇建立的湖鳟鱼的种群增长模型是一样的。这里直接放上结果:

这里alpha依然是雄性占比比例。p是七鳃鳗增长率。

这里我们做了一个假设,就是假设七鳃鳗是一夫一妻制。也就是在性别比例平衡时,一个雄鱼刚好和一个雌鱼配对生育,这时七鳃鳗的增长率最大。如果性别比例不平衡,就会有一部分七鳃鳗无法配对生育,导致增长率降低。

上面这个假设转化为公式就是2p(1-alpha)。当alpha为0.5时,也就是性别比例平衡时,公式为的结果为p。alpha增大时,结果减小。这里我们依然只考虑alpha增大的情况。

计算结果

我们这里假设入侵到生态系统的七鳃鳗种群大小的初始值为100。联立方程:

分析结果

可以看到,随着alpha的增大,七鳃鳗的种群数量会减小,甚至走向灭亡。但是话说回来,性别比例的平衡,会使种群中雌鱼的数量增加。雌鱼相较于雄鱼来说,会消耗更多的环境资源,捕食更大的湖鳟鱼,给生态环境的平衡带来更大的压力。

通过上一篇的图片可以看出,性别比例的平衡会对生态系统造成更大破坏,这种破坏会反过来影响七鳃鳗种群自身的生存。

因此,七鳃鳗性别比例能调节七鳃鳗种群对环境资源的消耗能力,从而更好的帮助七鳃鳗种群适应环境。

代码

Matlab 复制代码
% 参数定义
r = 0.02; % 增长率
K = 1000; % 环境承载能力
%a = 2.6; % 捕食率
N0 = 100; % 初始种群数量
d = 0.01;
alpha = 0.5;
alpha_lis = [alpha];
% 时间跨度
tspan = [0, 3000]; % 从0到100个时间单位

for i =1:6
    % 定义微分方程
    odefun = @(t, N) 2 * r * (1-alpha) *N(1) * (1 - N(1)/K) - d*N(1);
    
    % 使用ode45求解微分方程
    [t, N] = ode45(odefun, tspan, N0);
    
    subplot(2,3,i);
    plot(t, N, 'g', 'LineWidth', 2,'Color','r'); % 种群总数N(t)
    xlabel('Time');
    ylabel('Population (N)');
    title('Population Dynamics');
    text(t(end), N(end,1), ['N= ', num2str(N(end)),'   ','alpha=',num2str(alpha)], 'HorizontalAlignment', 'right');


    alpha = alpha + 0.07
    alpha_lis = [alpha_lis,alpha]
end
相关推荐
吃好睡好便好19 小时前
用while循环语句求和
开发语言·学习·算法·matlab·信息可视化
热心网友俣先生19 小时前
2026 电工杯数学建模 A 题参考答案
数学建模
王璐WL19 小时前
【C语言入门级教学】函数的概念2
c语言·数据结构·算法
不知名的忻20 小时前
B 树与 B+ 树:面试完全指南
b树·算法·面试·b+树
运筹vivo@21 小时前
2657. 找到两个数组的前缀公共数组 | 难度:中等
算法·leetcode·职场和发展·哈希表
索木木21 小时前
NCCL SHARP 和 TREE算法
java·服务器·算法
吃好睡好便好21 小时前
用for循环语句求和
开发语言·人工智能·学习·matlab·学习方法
心中有国也有家1 天前
hccl 架构拆解:昇腾集合通信库到底在做什么?
人工智能·经验分享·笔记·分布式·算法·架构
小O的算法实验室1 天前
2026年MCS,Q-learning增强MOPSO与改进DWA融合算法+复杂三维地形下特定移动机器人动态路径规划
算法
Peter·Pan爱编程1 天前
10. new_delete 不是 malloc_free 的包装
c++·人工智能·算法