24美赛A题详解,两个模型代码,模型结果分析,前三问分析

目录

前言(发会儿牢骚,和正文无关)

关键:两个模型,生态系统的平衡三阶段

整体模型

模型一:七鳃鳗种群增长率受食物资源的影响

模型二:食物链:食物-七鳃鳗-捕食者

提供模型思路的关键参考资料(三个)

食物链模型

1.

七鳃鳗种群增长率受食物资源的影响模型

2.

3.

先搭建食物链模型一(先把没有性别比例变换搞出来)

模型二:增长率受食物影响变化模型

1.七鳃鳗雄性比例受食物资源影响的逻辑斯蒂模型(最重要的模型)

2.雄性比例和性别比例的关系

 3.性别比例和种群增长率的关系

4.最终在L-V模型中迭代时要关注的是增长速率和食物资源的关系

 模型搭建完毕

根据有性别变化和无性别变换图像作比较,去解读答案

问题1:当七鳃鳗的种群可以改变其性别比例时,对更大的生态系统有什么影响?(生态系统三个阶段)

食物资源变化图像对比,生态系统平衡三个阶段

结果大致分析,不想多写了,启发一下思路

1.阶段一:激烈竞争

2.阶段二:过度到平衡

3.阶段三:达到平衡

在种群迭代中,捕食者的的变化图(数量,和增长率)

1.阶段一:激烈竞争

2.阶段二:过度到平衡

3.阶段三:达到平衡

七鳃鳗种群的优势和劣势是什么?

优势:

1. 在生态平衡的过度阶段中,有调节生物数量更多,能保证种群有更好的抗干扰性

2.整体上数量变化相对于无调节更加平缓,不会出现忽然高忽然少,更稳定(要做速率分析,太晚了,明天补上)

劣势:

1.生态平衡三个阶段中,竞争阶段数量少,不具有竞争力

2.生态平衡时,平衡数量少(感觉这里,达到平衡时,种群数量是可以衡量什么的指标,可以搜搜资料文献看看)

睡了,明天上跟新,估计各位都做的差不多了吧,,,

完整代码捆绑了,审核完在文章最上面可以免费直接下载 


前言(发会儿牢骚,和正文无关)

        大致扯完了,基于自己简单的模型,作图再去解读图像,把前三问搞完了,但是确实花的时间太长了,直到今晚论文一个字都没写,毕竟美赛都在家,另外两个队友只是临时组队,第一二天就一直我在做A题,另一个(比较擅长数据)在做C题,还有个论文手,基本不太参与进来。

        所以,导致我辛辛苦苦做的A题基本瞎了,因为另一个C题论文已经写出来大致模板,具体做的怎么样,我也不晓得,单估计不太乐观,这里就显得队友的一个合适,心里头难免差点意思。

        整个A题做来,从陌生到熟悉,再到抓住自己能理解到的关键思路,就是去找七鳃鳗增长率和雄性占比,食物资源的逻辑斯蒂模型。不得不感谢导师,和他讨论,我向他提到网上好多思路,我根本不能从一个简单的三物种L-V模型中得到,老师说,不要去太过相信网上的思路,这题就用简单模型,对模型进行改良就好了,关键去理解到性别比例变化对这个模型的影响在于增长率的变化,去建立他俩的一个函数关系。

        确实,没有再去想网上那样给出天马行空的东西怎么做,明白自己要什么了,又在疯狂的查找论文,csdn,知乎,B站,公众号,搞到了自己缺少的那块拼图。

        虽然自己的模型简单,但也下了很大的心力,不能白白浪费了。扪心自问C题自己是研究不过来了,把东西又整理了整理,想发这篇博客,一是好久没发了,学校也挺忙的,还要备战蓝桥杯,去准备跟着导师搞篇论文,电赛。二是,自己确实写不出太值得写的东西,三是,花了那么大的心力,不能浪费了。

关键:两个模型,生态系统的平衡三阶段

整体模型

模型一:七鳃鳗种群增长率受食物资源的影响

模型二:食物链:食物-七鳃鳗-捕食者

提供模型思路的关键参考资料(三个)

食物链模型

1.

基于MatLab的三种群Volterra模型数值求解.pdf-原创力文档

        类似于草-羊-狼的种群模型,关键是里面有代码和参数是调好的,太关键了,所有的参数解读就是一下醍醐灌顶。

七鳃鳗种群增长率受食物资源的影响模型

2.

基于出生性别比例的逻辑斯谛人口模型的混沌性质

        把性别比例和种群增长率扯上关系,虽然只是简单的r=r0/p,但是无价。我根据自己理解改了。

3.

        这个最关键,找不到来源了,R就是雄性的概率,这是个‘S’型的,要把e上面负号消掉才能呈现递减,横坐标食物资源,随着食物资源增加,雄性比例是减小的。

先搭建食物链模型一(先把没有性别比例变换搞出来)

        参考文献里的数据和参数,使用欧拉法去差分迭代求解,因为后面性别比例变换那一点才好带入进去。

% 差分动态模型
dt = 0.1;    % 时间步长
T = 10;      % 总模拟时间
n = T / dt;  % 总步数,迭代100代
% 食物
k1 = 1000;
r1 = 1;
a1 = 0.6;
% 七鳃鳗
k2 = 300;
% R = @(x) (55.09 + 24.72 / (1 + exp(x*10 - 6.638)))/100;
syms R(s) s
R(s) = ( f.a+f.b/(1+exp(s*10 + f.c)) )/100;
r2 = 0.5;
% r2 = R
a2 = 5;
a3 = 0.5;
% 捕食者
k3 = 40;
r3 = 0.6;
a4 = 2;
% 初始化种群个数
N1 = zeros(2,n);N1(:,1) = 1000;
N2 = zeros(2,n);N2(:,1) = 200;
N3 = zeros(2,n);N3(:,1) = 20;
% 初始化种群增长率
dN1 = zeros(2,n);
dN2 = zeros(2,n);
dN3 = zeros(2,n);
for j = 1:2 % 无调节和有调节比较
    for i = 1:n-1
        N1(j,i+1) = N1(j,i) + r1*N1(j,i)*( 1-N1(j,i)/k1-a1*N2(j,i)/k2 )*dt;

        if j==1
            N2(j,i+1) = N2(j,i) + r2*N2(j,i)*( -1-N2(j,i)/k2+a2*N1(j,i)/k1-a3*N3(j,i)/k3 )*dt;
        end
        if j==2
            N2(j,i+1) = N2(j,i) +r(N1(i)/k1)*N2(j,i)*( -1-N2(j,i)/k2+a2*N1(j,i)/k1-a3*N3(j,i)/k3 )*dt;
        end
        N3(j,i+1) = N3(j,i) + r3*N3(j,i)*( -1-N3(j,i)/k3+a4*N2(j,i)/k2 )*dt;
    end
    figure;
    hold on
    box on
    if j==1
        title('无调节')
    else
        title('有调节')
    end
    plot(1:n,N1(j,:),'g',1:n,N2(j,:),'b',1:n,N3(j,:),'r')
    legend("食物","七鳃鳗","捕食者")
    xlabel("时间")
    ylabel("种群数量")
    hold off
    % 绘制速率
    figure;
    if j==1
        title('无调节')
    else
        title('有调节')
    end
    hold on
    for i=1:n-1
        dN1(j,i) = (N1(j,i+1)-N1(j,i))/dt;
        dN2(j,i) = (N2(j,i+1)-N2(j,i))/dt;
        dN3(j,i) = (N3(j,i+1)-N3(j,i))/dt;
    end
    plot(1:n,dN1(j,:),'g',1:n,dN2(j,:),'b',1:n,dN3(j,:),'r')
    legend("食物","七鳃鳗","捕食者")
    xlabel("时间")
    ylabel("种群增长率")
end

模型二:增长率受食物影响变化模型

1.七鳃鳗雄性比例受食物资源影响的逻辑斯蒂模型(最重要的模型)

        自己调代码改了好多,大致就是自己给了四个点,搞成s型,注意要把e上取符号,是递减的,食物资源取[0.4 1]对应雄性占比[0.78 0.56],调疯了快。要是拟合直线或者运行不出来太慢,多试几次。

% 使用fit和fittype函数
clc
clear
close all
% 创建原始数据
% x0 = [4 5 8 10]
% y0 = [78 76 60 56]
x0 = [0.4 0.5 0.8 1];
y0 = [0.78 0.76 0.60 0.56];
hold on
plot(x0,y0,'r*','LineWidth',3)
ft = fittype('(a + b/(1+exp(x*10 + c)))/100','independent','x');
[f,fitStruct]= fit(x0',y0',ft,'Startpoint',[100,56,rand]);
xlabel('食物资源');
ylabel('雄性比例');
% 直接可以使用f(x,y)
% f(0.4)
% f(0.5)
x1 = 0.4:0.01:1;
plot(x1,f(x1))
hold off
syms R(s) s
R(s) = ( f.a+f.b/(1+exp(s*10 + f.c)) )/100;
f.a
f.b
f.c

2.雄性比例和性别比例的关系

        也是参考文献里性别比例=雄性个体/雌性个体

% R 雄性比例
syms p(R) R
p(R) =  R/(1-R)
fplot(p,[0.56 0.78]);
title('雄性比例和性别比例的关系')
xlabel('雄性占比')
ylabel('雄/雌(个数)')

 3.性别比例和种群增长率的关系

        也是参考文献里面,直接固定增长率r0 = 0.5,受影响的增长率r = r0/p; p是性别比例

当性别比例是1时,即雄:雌 = 1:1,r = r0。

% r0 七鳃鳗种群固定增长率 
r0 = 0.5;
% 受性别比例
syms r(p) p
r(p) = r0/p;
fplot(r,[1 4]);
title('性别比例和种群增长率的关系')
xlabel('性别比例');
ylabel('增长速率')

4.最终在L-V模型中迭代时要关注的是增长速率和食物资源的关系

         食物资源是从0-1的一个比例,就是食物链中食物个数/其最大环境容纳量,详细去看代码。

r0 =0.5
syms  s  R
R(s) = ( f.a+f.b/(1+exp(s*10 + f.c)) )/100;
figure;
fplot(R,[0.4 1]);
title('雄性比例和食物资源关系');
xlabel('食物资源');
ylabel('雄性比例');
p =  R/(1-R);
figure;
fplot(p,[0.4 1]);
title('性别比例和食物资源关系');
xlabel('食物资源');
ylabel('性别比例(雄个体/雌个体)');
r = r0/p;
figure;
fplot(r,[0.4 1]);
title('增长速率和食物资源的关系')
xlabel('食物资源');
ylabel('增长速率')

 模型搭建完毕

        这里就是体现模型简单的地方了,只能得到数量和增长速率

         接下来通过种群数量和增长率数据,去分析有性别比例变化和无性别比例变化的图像,解读图像。

根据有性别变化和无性别变换图像作比较,去解读答案

问题1:当七鳃鳗的种群可以改变其性别比例时,对更大的生态系统有什么影响?(生态系统三个阶段

        关键在于对更大生态系统的理解,这里就直接去分析一个七鳃鳗的食物,和一个七鳃鳗的捕食者数量和增长率的对比图象

食物资源变化图像对比,生态系统平衡三个阶段

结果大致分析,不想多写了,启发一下思路

        这里一定去有个概念,生态系统的稳定性,横轴是时间,最后数量不变就理解成平衡状态,那根据图上相交两点,就可以把整个生态系统从开始到平衡分为三个阶段(还没想好合适的解释)

1.阶段一:激烈竞争

        有调节的生态系统,资源消耗更加平缓

2.阶段二:过度到平衡

        有调节的生态系统,资源消耗会更多

3.阶段三:达到平衡

        有调节的生态系统,平衡时,资源更多(感觉可以理解成更稳定)

在种群迭代中,捕食者的的变化图(数量,和增长率)

1.阶段一:激烈竞争

        有调节的生态系统,捕食者数量相同时间上有所减少

2.阶段二:过度到平衡

        有调节的生态系统,捕食者数量相同时间上数量更多

3.阶段三:达到平衡

        有调节的生态系统,捕食者数量达到平衡时数量更少

七鳃鳗种群的优势和劣势是什么?

        从该图分析,两个角度,生态系统达到平衡的三个阶段和数量变化上

优势:

1. 在生态平衡的过度阶段中,有调节生物数量更多,能保证种群有更好的抗干扰性

2.整体上数量变化相对于无调节更加平缓,不会出现忽然高忽然少,更稳定(要做速率分析,太晚了,明天补上)

劣势:

1.生态平衡三个阶段中,竞争阶段数量少,不具有竞争力

2.生态平衡时,平衡数量少(感觉这里,达到平衡时,种群数量是可以衡量什么的指标,可以搜搜资料文献看看)

睡了,明天上跟新,估计都做的差不多了吧,,,

完整代码捆绑了,在审核 

  • 30
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在YOLOv5模型代码分析方面,有一些关键的内容需要注意。首先,模型配置文件yolov5s.yaml中的parse_model函数用于解析模型配置文件,接受两个参数d和ch,其中d是模型配置文件的字典表示,ch是输入图像的通道数。 其次,在工程代码中,模型结构被定义在models目录中。其中,common.py文件存放各个模型组件,yolo.py文件是构建模型结构的主要代码。此外,不同大小的模型结构配置(如yolov5s.yaml、yolov5m.yaml、yolov5l.yaml、yolov5x.yaml等)存放在xxx.yaml文件中。 关于yolov5模型代码分析,还可以参考一些其他资源。例如,CSDN博客中有一篇关于指数移动平均(EMA)的原理及PyTorch实现的文章,它介绍了提高最终模型在测试数据上表现的方法。另外,还有一些关于提升分类模型准确率、YOLOV5使用的技巧、损失函数详解等主的文章也可以作为参考。 总结来说,要进行YOLOv5模型代码分析,需要深入研究模型配置文件和模型结构的代码,并结合其他资源对模型的优化技巧和相关原理进行学习。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [YOLOv5代码解析——模型结构篇](https://blog.csdn.net/qq_41204464/article/details/130229847)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [yolov5模型代码解读](https://blog.csdn.net/qq_42740834/article/details/125488211)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值