雨水冲刷沙堡模型,新手练习matlab元胞自动机写的。

这是代码

clear all;
% 设置GUI按键
plotbutton=uicontrol('style','pushbutton','string','运行', 'fontsize',12, 'position',[150,400,50,20], 'callback', 'run=1;');
erasebutton=uicontrol('style','pushbutton','string','停止','fontsize',12,'position',[250,400,50,20],'callback','freeze=1;');
quitbutton=uicontrol('style','pushbutton','string','退出','fontsize',12,'position',[350,400,50,20],'callback','stop=1;close;');
%设置元胞大小
n=100;
C = zeros(n,n);
%设置种类 0:空气 1:沙子 2:雨滴
ca= zeros(n,n);
%沙堆和雨滴的数量
numsand=zeros(10000,1);
numrain=zeros(10000,1);
time=0;
%设置沙堆
for i=1:nfor j=1:nif i<=35if j<=i-10ca(j,i)=1;endelseif i<=65if j<=25ca(j,i)=1;endelseif j<=-i+90ca(j,i)=1;endendend
end
%绘制沙堆
for i=10:90for j=3:97k=0;for i1=1:3for j1=1:3if ca(j+j1-2,i+i1-2)==1k=k+1;endendendif k==1||k==2||k==3C(j,i)=60;elseif k==4||k==5||k==6C(j,i)=57;elseif k==7||k==8||k==9C(j,i)=55;endend
endimage(C)
set(gca,'YDir','normal')
stop= 0; run = 0;freeze = 0;%             for i1=2:8
%                 C(100,i1*10)=20;
%             endwhile stop==0if run==1%沙堆重绘       颜色由上方五个决定for i=10:90for j=3:97k=0;for i1=1:3for j1=1:3if ca(j+j1-2,i+i1-2)==1k=k+1;endendendif k==1||k==2||k==3C(j,i)=60;elseif k==4||k==5||k==6C(j,i)=57;elseif k==7||k==8||k==9C(j,i)=55;endendend
%模拟雨滴for j2=2:100for i2=1:100if ca(j2,i2)==2C(j2,i2)=0;ca(j2,i2)=0;if ca(j2-1,i2)==1ca(j2-1,i2)=0;elseca(j2-1,i2+1)=2;C(j2-1,i2+1)=20;endendendenda=unidrnd(n);C(n,a)=20;ca(n,a)=2;
%数据储存
time=time+1;for j3=1:100for i3=1:100if ca(j3,i3)==1numsand(time)=numsand(time)+1;endendend
numrain(time)=time/(1375-numsand(time));
%粘附在下层
%冲刷次数image(C)
set(gca,'YDir','normal')
if time==3000run=0;
endendif freeze==1run = 0;freeze = 0;enddrawnow %更新图窗并处理回调
end

沙堡体积随时间变化图

time1=1:3000;
numsand1=numsand(1:3000);
plot(time1,numsand1)
xlabel('时间(s)');
ylabel('沙堡体积(m^3)');
title('随着雨水冲刷沙堡体积的改变');
grid on;

雨水冲刷沙堡模型——matlab元胞自动机相关推荐

  1. 雨水冲刷沙堡模型——matlab元胞自动机(二)

    第二代和第一代有些许不同,每体积沙子被雨水打到后会增加一定量的含水量,当最上面一层的含水量平均值大于某个值得时候,最上面一层沙子就会塌陷. 不多说啥了,看代码(个人练习记录,大佬轻喷) clear a ...

  2. 【Matlab元胞自动机】元胞自动机大型商场人流疏散【含源码 665期】

    一.代码运行视频(哔哩哔哩) [Matlab元胞自动机]元胞自动机大型商场人流疏散[含源码 665期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]贺琳,聂化 ...

  3. 【元胞自动机】基于matlab元胞自动机3D森林火灾模型【含Matlab源码 656期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  4. 【元胞自动机】基于matlab元胞自动机模拟SEIR传播模型和采取隔离措施的SEIR模型【含Matlab源码 2181期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视.1970 年, 剑桥大学的约翰 · 何顿 ...

  5. 【元胞自动机】基于matlab元胞自动机双车道交通流模型含靠右行驶【含Matlab源码 231期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  6. 【元胞自动机】基于matlab元胞自动机多车道信号交叉口仿真【含Matlab源码 818期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  7. matlab 元胞自动机

    用MATLAB实现元胞自动机的事例 file 1:life.m %% 初始化 m = 50; X = zeros(m,m); X(25,25) = 1;n = [m 1:m-1];e = [2:m 1 ...

  8. 【元胞自动机】基于matlab元胞自动机模拟交通路况(含超车)【含Matlab源码 2389期】

    ⛄一.元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 · 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 · 何 ...

  9. MATLAB元胞自动机报告,元胞自动机概述与MATLAB实现

    什么是元胞自动机? 元胞自动机(cellular automata,CA) 是一种时间.空间.状态都离散,空间相互作用和时间因果关系为局部的网格动力学模型,具有模拟复杂系统时空演化过程的能力.它能构建 ...

最新文章

  1. Struts2.0下的客户端验证
  2. C# 从不是创建控件 的线程访问它
  3. 符号库匹配不对的原因_王者荣耀:万恶的游戏匹配机制,最菜的队友才是游戏胜利的关键...
  4. CentOS 7 定时计划任务设置
  5. vue 微信开发工具 Maximum call stack size exceeded
  6. Qt工作笔记-在界面上输出变量、类、this指针的地址
  7. SpringCloud工作笔记052---各种数据库在java中的连接配置_以及连接驱动
  8. Caffe编写Python layer
  9. Go语言:交换两个整型变量的值
  10. 串口软件与uPs测试,智能化UPS的软件设计及串口通信实现
  11. 轻松搞懂Word2vec / FastText+BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention实现中英文情感分类
  12. 【Mysql 错误定位】语法错误
  13. 英语中学生测试软件,初中生免费学英语的软件哪个好
  14. linux 查看dhcp dns,RHEL6 DNS+DHCP+DDNS
  15. HTML标签 链接 CSS样式
  16. 解决input输入框与select下拉框水平不对齐
  17. Hibernate Criteria对象详解(条件查询)
  18. 单片机要学多久可以找到工作?能找到哪类的工作
  19. 阿里云 MaxCompute 行业级应用(优酷、斗鱼)及 MaxCompute SQL 调优
  20. 大学计算机应用技术基础vb考试,计算机vb考试试题精选

热门文章

  1. DC-DC直流斩波---BUCK降压斩波电路
  2. 数据库游标以及在java中的应用
  3. 那些网站可以***!
  4. 【Neo4j构建知识图谱】配置知识图谱插件APOC与案例实现
  5. 520 钻石争霸赛 2023
  6. 不会还有人拿着手机拍屏幕翻译英语吧,pycharm翻译插件推荐
  7. 推荐算法面试集锦--算法模型
  8. MatLab绘制分段函数激活函数
  9. 树莓派4b官方系统更换清华源
  10. 使用阿里百川和淘宝联盟进行私域用户管理授权(Android端)