


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
function =testCA(n)z = zeros(n,n); cells = z; cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1;imh = image(cat(3,cells,z,z); set(imh, erasemode, none) axis equal axis tight %nx=52; %must be divisible by 4 ny=100; Pbridge = .05; z=zeros(nx,ny); o=ones(nx,ny); sand = z;sandNew = z;gnd = z ;gnd(1:nx,ny-3)=1 ;% the ground line gnd(nx/4:nx/2+4,ny-15)=1; %the hole line gnd(nx/2+6:nx,ny-15)=1; %the hole line gnd(nx/4, ny-15:ny) = 1; %side line gnd(3*nx/4, 1:ny) = 1 ; % for i=1:1000 p=mod(i,2); %margolis neighborhood sand(nx/2,ny/2) = 1; %add a grain at the top %upper left cell update xind = 1+p:2:nx-2+p; yind = 1+p:2:ny-2+p; %randomize the flow - 10% of the time vary = rand(nx,ny) .9 ; vary1 = 1-vary; sandNew(xind,yind) = . gnd(xind,yind).*sand(xind,yind) + . (1-gnd(xind,yind).*sand(xind,yind).*sand(xind,yind+1) .* . (sand(xind+1,yind+1)+(1-sand(xind+1,yind+1).*sand(xind+1,yind); sandNew(xind+1,yind) = . gnd(xind+1,yind).*sand(xind+1,yind) + . (1-gnd(xind+1,yind).*sand(xind+1,yind).*sand(xind+1,yind+1) .* . (sand(xind,yind+1)+(1-sand(xind,yind+1).*sand(xind,yind); sandNew(xind,yind+1) = . sand(xind,yind+1) + . (1-sand(xind,yind+1) .* . ( sand(xind,yind).*(1-gnd(xind,yind) + . (1-sand(xind,yind).*sand(xind+1,yind).*(1-gnd(xind+1,yind).*sand(xind+1,yind+1); sandNew(xind+1,yind+1) = . sand(xind+1,yind+1) + . (1-sand(xind+1,yind+1) .* . ( sand(xind+1,yind).*(1-gnd(xind+1,yind) + . (1-sand(xind+1,yind).*sand(xind,yind).*(1-gnd(xind,yind).*sand(xind,yind+1); %scramble the sites to make it look better temp1 = sandNew(xind,yind+1).*vary(xind,yind+1) + . sandNew(xind+1,yind+1).*vary1(xind,yind+1); temp2 = sandNew(xind+1,yind+1).*vary(xind,yind+1) + . sandNew(xind,yind+1).*vary1(xind,yind+1); sandNew(xind,yind+1) = temp1; sandNew(xind+1,yind+1) = temp2; sand=sandNew; set(imh,cdata,cat(3,z,sand,gnd) drawnow end %build the GUI %define the plot button plotbutton=uicontrol(style,pushbutton,string,Run,fontsize,12,position,100,400,50,20, callback, run=1;); %define the stop button erasebutton=uicontrol(style,pushbutton,string,Stop, fontsize,12,position,200,400,50,20,callback,freeze=1;);%define the Quit button quitbutton=uicontrol(style,pushbutton,string,Quit,fontsize,12,position,300,400,50,20,callback,stop=1;close;);number = uicontrol(style,text, string,1, fontsize,12, position,20,400,50,20); stop= 0; %wait for a quit button push run = 0; %wait for a draw freeze = 0; %wait for a freeze while (stop=0) if (run=1) %nearest neighbor sum sum(x,y) = cells(x,y-1) + cells(x,y+1) +cells(x-1, y) + cells(x+1,y) +cells(x-1,y-1) + cells(x-1,y+1) + cells(3:n,y-1) + cells(x+1,y+1); % The CA rule cells = (sum=3) | (sum=2 & cells); %draw the new image set(imh, cdata, cat(3,cells,z,z) ) %update the step number diaplay stepnumber = 1 + str2num(get(number
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46278-2025个体工商户信用评价指标
- 办事处生产安全培训课件
- 刺猬设计包装课件
- 别致胡花瓶胡课件
- 化工企业安全管理培训课件
- 别把药丸当糖吃课件
- 化工企业培训课件
- 化工三传一反课件
- 初夏安全培训记录课件
- 内部交通安全培训课件
- 人工搬运培训课件
- 2025年哈尔滨投资集团有限责任公司校园招聘笔试备考题库含答案详解(精练)
- DB4406∕T 47-2024 养老机构安全风险管理规范
- 城乡垃圾压缩站建设施工组织设计方案
- 安徽省合肥市六校联考2025-2026年高三上学期开学考试语文试卷(含答案)
- 2025年北京市中考英语真题卷含答案解析
- (2025年标准)课时合同转让协议书
- 风力发电机自动消防系统
- 公益性岗位业务培训课件
- 屋顶分布式光伏发电项目施工组织设计
- 学校安保培训课件
评论
0/150
提交评论