当前位置 : 主页 > 编程语言 > python >

【元胞自动机】基于元胞自动机模拟生态养殖模型含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 基于元胞自动机模拟生态池塘养殖模型。 2 部分代码 function [area,fish]=MyChange(area,fish,range,alpha) n=length(area); for i =1:n for j=1:n %周围9个方块共同impact if MyRound(area,i,j)range(1)%15 area(i,j)

1 简介

基于元胞自动机模拟生态池塘养殖模型。

2 部分代码

function [area,fish]=MyChange(area,fish,range,alpha)
n=length(area);
for i =1:n
for j=1:n
%周围9个方块共同impact
if MyRound(area,i,j)<range(1)%15
area(i,j)=MyRound(area,j,j)*(1-rand*mean(fish)*alpha(1));
%(1-rand*mean(fish)*alpha(1))鱼虾蟹等影响系数
elseif MyRound(area,i,j)<range(2)%50
area(i,j)=MyRound(area,j,j)*(1-rand*mean(fish)*alpha(2));
elseif MyRound(area,i,j)<range(3)%150
area(i,j)=MyRound(area,j,j)*(1-rand*mean(fish)*alpha(3));
elseif MyRound(area,i,j)<range(4)%500
area(i,j)=MyRound(area,j,j)*(1-rand*mean(fish)*alpha(4));
else
area(i,j)=MyRound(area,j,j)*(1-rand*mean(fish)*alpha(5));
end
end
end
avg=mean(mean(area));
%成长系数设置的很迷惑
%蟹类主要以鱼虾等动物尸体为食物,所以其数目会受到鱼虾的影响
if avg<range(1)
fish=fish*(1+(rand-0.5)*0.01);
elseif avg<range(2)
fish=fish.*[1.006 1.005 1.007];
elseif avg<range(3)
fish=fish.*[1.013 1.011 1.013];
elseif avg<range(4)
fish=fish.*[1.03 1.03 1.03];
else
fish=fish.*[1.05 1.04 1.05];
end
fish=fish+fish.*unifrnd(-0.12,0.1,1,3);%有随机性,更有说服力
end

3 仿真结果

【元胞自动机】基于元胞自动机模拟生态养殖模型含Matlab源码_参考文献

【元胞自动机】基于元胞自动机模拟生态养殖模型含Matlab源码_d3_02

【元胞自动机】基于元胞自动机模拟生态养殖模型含Matlab源码_fish_03

4 参考文献

[1]谢花林, and 李秀彬. "基于元胞自动机模型的区域生态用地调控情景模拟研究——以北京市为例." 地理学核心问题与主线——中国地理学会2011年学术年会暨中国科学院新疆生态与地理研究所建所五十年庆典论文摘要集 2011.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【元胞自动机】基于元胞自动机模拟生态养殖模型含Matlab源码_fish_04



【转自:外国服务器 http://www.558idc.com/shsgf.html转载请说明出处】
网友评论