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

news2024/11/15 21:57:01

审题

第三问要我们评估七鳃鳗的性别比例变化对生态系统稳定性的影响。

这里我们就要去查一下生态系统稳定性的定义。

通过查资料我们知道,生态系统稳定性包括生态系统的抵抗力和恢复力。

OK,到这里问题就变成了,七鳃鳗的性别比例对生态系统的抵抗力和恢复力的影响。

那怎么去评估,生态系统的抵抗力和恢复力就是接下来的问题。

通过查资料我们发现,评估生态系统的抵抗力和恢复力是没有一个统一的方法的。这就需要我们具体问题具体分析,但是我们也可以别人是怎么去评估生态系统的抵抗力和恢复力的。

这里评估台风对生态系统的抵抗力和恢复力的文章:

它这里提出的方法就是计算台风出现前后,植被的面积的变化率作为评价生态系统抵抗力的指标。

回复力同理,也是计算植被面积的分辨率作为评价生态系统的恢复力。

抓住重点,就是种群数量前后的变化率,是评价生态系统稳定性的关键。

借鉴上面的方法,我们提出了我们这道题的生态系统稳定性评价方法。

生态系统抵抗力

这里我们假设,生态系统中原本生存了700条湖鳟,生态系统稳定。这时生态系统中有100条七鳃鳗入侵,对生态系统造成了破坏,湖鳟数量开始下降。好了,这时我们就看七鳃鳗入侵一定时间后,比如700天,湖鳟鱼的数量下降了多少。通过计算入侵前后的湖鳟数量变化率来评价生态系统的抵抗力。

注意,我们这里可以让100条七鳃鳗以不同性别比例入侵这个生态系统,这样湖鳟鱼的最后的变化率也是不同的。以此我们来评价不同性别比例对生态系统抵抗力的影响。

这里计算湖鳟鱼的种群数量用到第一问的公式,变化率用如下公式:

变化率 = (初始种群数 - 一段时间后的种群数)/ 初始种群数

生态系统恢复力

恢复力同理,700天后让100条七鳃鳗移除生态系统,这时湖鳟种群数量已经低于初始值。我们再计算多少天的时间,湖鳟鱼的数量可以恢复到初始值,以此评价生态系统的恢复力。

同理,我们也是让100条七鳃鳗以不同性别比例入侵这个生态系统,让后再以此,这时生态系统的恢复力也是不同的。以此我们来评价不同性别比例对生态系统恢复力的影响。

公式如上, 恢复率 = (初始种群数 - 一段时间后的种群数)/ 恢复天数

计算结果

性别比例对抵抗力的影响

湖鳟鱼为700,七鳃鳗为100,在性别比例不同下,湖鳟鱼的变化曲线。

去掉七鳃鳗后湖鳟鱼的数量

计算抵抗力,并作性别比例和变化率的关系图。

可以看到,雄性占比为0.5时,湖鳟鱼的变化率更大,意味着对生态系统的破坏更大,导致生态系统抵抗力下降。随着雄鱼占比增加,湖鳟鱼的变化率减小,意味着对生态系统破坏小。

性别比例对恢复力的影响

700天后,将七鳃鳗去除,湖鳟鱼在去除后的数量进行增长,看多少天能恢复到初始值。

同样,做性别比例和恢复率的关系图

同样,可以看到雄性占比在0.5时,恢复速度较快,意味着恢复力较强。随着雄性占比减少,恢复速度降低,恢复力减弱。

代码

% 参数定义
r = 0.03; % 增长率
K = 700; % 环境承载能力
N0 = K; % 初始种群数量
d = 0.01;%死亡率
alpha = 0.5;
alpha_lis = [alpha];
N_l = 100;%七鳃鳗数量
a = 0.023*alpha*N_l + 0.029 * (1-alpha) * N_l;%捕食量
w = 4;
W = a/w;
% 时间跨度
tspan = [0, 700]; % 从0到100个时间单位

% 定义微分方程
%odefun = @(t, N) r*N(1) * (1 - N(1)/K) - a - d*N;

for i=1:6
    % 定义微分方程
    odefun = @(t, N) r*N(1) * (1 - N(1)/K) - a - d*N;
    % 使用ode45求解微分方程
    [t, N(:,i)] = ode45(odefun, tspan, N0);
    alpha = alpha + 0.07;
    alpha_lis = [alpha_lis,alpha];
    a = 0.023*alpha*N_l + 0.029 * (1-alpha) * N_l;
    W = a/w;
end
% 绘制结果
figure
plot(t, N);
xlabel('Time');
ylabel('Population N');
title('Population Dynamics');
%text('K=1000','FontSize','right');

% 在曲线末尾的x值处添加文本
text(t(end), N(end,1), ['N= ', num2str(N(end,1)),'   ','K=',num2str(K)], 'HorizontalAlignment', 'right');

yline(0,'r')
% 设置图例位置
legend(['alpha = ',num2str(alpha_lis(1))], ...
   ['alpha = ',num2str(alpha_lis(2))], ...
   ['alpha = ',num2str(alpha_lis(3))], ...
   ['alpha = ',num2str(alpha_lis(4))], ...
   ['alpha = ',num2str(alpha_lis(5))], ...
    ['alpha = ',num2str(alpha_lis(6))]);
%grid on;

figure
plot(alpha_lis(:,1:6),(700-N(end,:))/700,'r-*');
title('The rate of loss of the sex ratio to the ecosystem')
ylabel('loss rate')
xlabel('sex ratio')


n = N(end,:);
N = [];
alpha = 0.5;
alpha_lis = [];
figure
for i =1:6
    % 定义微分方程
    odefun = @(t, N) r*N(1) * (1 - N(1)/K) ;
    
    % 使用ode45求解微分方程
    [t, N] = ode45(odefun, tspan, n(i));
    
    subplot(2,3,i);
    plot(t, N, 'g', 'LineWidth', 2,'Color','r'); % 种群总数N(t)
    xlabel('Time');
    ylabel('Population (N)');
    title(['alpha=',num2str(alpha)]);
    yline(200,'b','LineWidth',2)
    alpha = alpha + 0.07;
    alpha_lis = [alpha_lis,alpha];
end

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1508930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络基本使用

1. 卷积层 convolution layers import torch import torchvision from torch import nn from torch.nn import Conv2d from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriterdataset torchvision.datasets.CIFAR10(./dataset,trainFa…

快速入门:JS对象/BOM/DOM/事件监听

本贴介绍JS相对进阶的知识,对于JavaScript的基础语法,本文不再赘述~ 一.JavaScript对象 1.Array数组对象 定义 var arr new Array(1,2,3); var arr[1,2,3]; 访问 arr[0]1; Js数组类似Java中的集合,长度,类型都可以改变。 如…

数据通信练习题

1.0osi七层模型 应用层 data 表示层 会话层 传输层 数据段 防火墙,端口(TCP UDP) 网络层 数据包 路由器 数据链路层 数据帧 交换机 物理层 比特流 网卡 2.IP地址分类 私有地址 A类 0--127 10.0.0.0…

如何应对Android面试官->玩转Binder机制,手写MMKV核心实现

前言 本章主要基于面试中的常见问题,进行 Binder 机制的讲解; Binder 是什么? 在 Android 中我们所使用的 Activity,Service 等组件都需要和 AMS 通信,这种跨进程的通信都是通过 Binder 完成的; 机制角度…

强烈推荐—GpuMall智算云实例网盘操作详解

实例网盘为实例的 /gm-fs 目录,该目录为实例同一个数据中心的分布式存储,对于较大的文件或者压缩文件有着出色的读写性能,实例网盘不受实例删除/释放影响,采用分布式冗余存储,数据安全性较高,强烈建议使用网…

Python对头发二维建模(考虑风力、重力)

目录 一、背景 二、代码 一、背景 数值方法被用于创建电影、游戏或其他媒体中的计算机图形。例如,生成“逼真”的烟雾、水或爆炸等动画。本文内容是对头发的模拟,要求考虑重力、风力的影响。 假设: 1、人的头部是一个半径为10厘米的球体。…

Polar 写shell

Polar 写shell 直接给了源码 还是没啥好说的&#xff0c;考点是die()死亡函数绕过之不同变量 **绕过原理&#xff1a; **通过base64解密或rot13解密使"<?php exit();"变为乱码&#xff0c;而传入的$content为base64编码&#xff0c;解码后为正常shell语句。通过…

VNCTF2024 RE BabyC2 WP

可以脚本去混淆得到源码&#xff0c;但我还没研究出来 这里用文件监测 处理样本文件&#xff1a; 为虚拟机设置允许执行脚本&#xff1a; Set-ExecutionPolicy Bypass&#xff08;Powershell管理员&#xff09; “是”执行 打开Process Monitor监视器&#xff0c;设置过滤…

【Unity】【VR开发】用控制器摇杆改变Canvas的大小和位置

【背景】 做一个VR投屏工具,希望能够用右手控制器的摇杆,前后控制Canvas距离,左右控制Canvas大小。 【分析】 需要解决几个问题: 获取摇杆在横纵轴方向上的输入值需要通过合适的Event触发改变Canvas大小和距离的函数写具体的Canvas改变大小和距离的功能【技术选型】 VR…

简单句,并列句【语法笔记】

1. 简单句&#xff0c;并列句本质分别是什么 2. 如何区分简单句和并列句 3. 连接词 4. 简单句的五大基本句型 5. 有连接词&#xff0c;未必都是并列句&#xff0c;这是为什么

事物的传播属性

事务传播属性是Spring框架在处理事务时的一个重要概念&#xff0c;它定义了在事务方法被另一个事务方法调用时&#xff0c;如何处理事务边界的行为。这些属性是通过Spring的Transactional注解中的propagation属性来设置的。下面是几个常见的Spring事务传播属性&#xff1a; *RE…

不被折叠的朋友圈这样发

现在朋友圈折叠有两种&#xff1a;第一种是文案折叠&#xff0c;第二种是整条折叠。 说下现象、原因和解决办法。 01 文案折叠 现象&#xff1a;只有文字被折叠成一行&#xff0c;图片视频还能看到&#xff0c;其它内容看不到。 折叠原因&#xff1a;发布的内容在自己朋友圈…

Redis冲冲冲——Redis持久化方式及其区别

目录 引出Redis持久化方式Redis入门1.Redis是什么&#xff1f;2.Redis里面存Java对象 Redis进阶1.雪崩/ 击穿 / 穿透2.Redis高可用-主从哨兵3.持久化RDB和AOF4.Redis未授权访问漏洞5.Redis里面安装BloomFilte Redis的应用1.验证码2.Redis高并发抢购3.缓存预热用户注册验证码4.R…

绿色新能源,科技添活力——助力光伏智慧化运营

光伏行业作为可再生能源领域的璀璨明珠&#xff0c;正日益受到关注。随着碳中和目标的提出&#xff0c;对光伏行业与数字化智能化技术的需求也日益增加。本文将探讨光伏行业与人工智能技术的深度融合&#xff0c;旨在开启智慧能源的未来。 光伏电站全生命周期达25年&#xff0…

TCP三次握手,四次挥手状态转移过程

1.TCP状态转移过程 TCP连接的任意一端都是一个状态机,在TCP连接从建立到断开的整个过程中,连接两端的状态机将经历不同的状态变迁.理解TCP状态转移对于调试网络应用程序将有很大的帮助. 2.三次握手状态转换 3.四次挥手状态转换 4.TIME WAIT状态详解 为什么要有一个"TIME…

【已解决】git无法上传大于100MB问题

问题&#xff1a; 输入命令 git config http.postBuffer 524288000 查看命令 git config -l

testng接口自动化1准备操作

接口自动化 什么是接口自动化,简单来说就是让程序代替人工生产测试数据并判断响应的结果是否符合预期。 二、为什么要做接口自动化&#xff1f; 1.接口数量大&#xff0c;敏捷开发&#xff0c;团队实现接口测试 2.处理不同协议的接口 3.提供更简洁明了的报告 4,可以实现分批,重…

seo js转码工具

js转码工具作用 用于把js加密 如果不想让别人看到自己的js 代码就可以使用这个方法 js工具网址 https://tool.chinaz.com/js.aspx 效果

掌握React中的useCallback:优化性能的秘诀

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

三大高阶数据分析模型盘点,解决用户分析、用户画像、用户分层。

在当今数字化时代&#xff0c;数据成为业务决策的关键驱动力。对于企业而言&#xff0c;深入了解用户行为、需求以及习惯&#xff0c;是取得成功的不二法门。为了更全面、精准地理解用户&#xff0c;数据分析模型成为一把解锁洞察力的金钥匙。本文将带您深入盘点&#xff0c;探…