基于matlab的模拟生长

基于matlab的模拟生长

ID:1145291

大小:172.50 KB

页数:11页

时间:2017-11-08

基于matlab的模拟生长_第1页
基于matlab的模拟生长_第2页
基于matlab的模拟生长_第3页
基于matlab的模拟生长_第4页
基于matlab的模拟生长_第5页
资源描述:

《基于matlab的模拟生长》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于matlab的模拟生长卢梦主要内容模拟树生长模拟石墨烯生长树生长大体思路:在一个区域上设置一些凝结核,然后随机产生自由粒子,粒子做随机运动,当粒子运动到凝结核附近时就凝结下来。functionla=zeros(53,303);a(2,5:80:300)=1;%设置一个零矩阵,并在底部设置凝结核fori=1:1:50000%总共产生50000个粒子t=randperm(301);f=t(1)+1;e=51;%在顶部随机产生粒子whilee<52&&e>2&&f<302&&f>2%限定粒子的运动范围s=randp

2、erm(4);r=rem(s(1),4);%定义随机运动switch(r)case0f=f-1;case1f=f+1;case2e=e-1;otherwisee=e+1;endifa(e,f+1)+a(e,f-1)+a(e-1,f)+a(e+1,f)>0%凝结判断a(e,f)=1;%赋值到矩阵breakelsecontinueendendend[x,y]=find(a);%找出矩阵中不为零的元素scatter(y,x,'.');生长图模拟石墨烯生长大体思路:与树生长类似,也是随机产生粒子做自由运动,运动到凝结核周

3、围时进行凝结。不同的是,石墨烯的凝结方式与树生长不同。从平面近似来看,石墨烯碳原子间的化学键之间是120度角,每个原子最多只能与其他三个原子结合。原理图从图中可以发现,凝结只发生在某些线上。绿线所指的两条线上无凝结发生。因此,将坐标轴所有的纵线进行定义,再加上凝结判据即可凝结functionsmxL=151;axis([0L0L]);%建立坐标系x0=floor(L/2)+1;y0=x0;X=sparse(L,L);%建立相对应的矩阵X(x0,y0)=1;%设定凝结核R=floor(L/2)-5;fori=1:1

4、:15000r=rand*2*pi;kx=floor(x0+R*cos(r));ky=floor(y0+R*sin(r));%产生随机点ifX(kx,ky)==1breakendwhile(kx-76)*(kx-76)+(ky-76)*(ky-76)<5184s=randperm(4);t=rem(s(1),4);switch(t)case0kx=kx-1;ifX(kx,ky)==1kx=kx+1;continueendcase1kx=kx+1;ifX(kx,ky)==1kx=kx-1;continueendca

5、se2ky=ky-1;ifX(kx,ky)==1ky=ky+1;continueendotherwiseky=ky+1;ifX(kx,ky)==1ky=ky-1;continueendend%随机运动ifrem((kx-76)/3+1,2)==0&&(X(kx+1,ky+2)+X(kx+1,ky-2)+X(kx-2,ky))>0X(kx,ky)=1;breakelseifrem((kx-77),6)==0&&(X(kx-1,ky+2)+X(kx-1,ky-2)+X(kx+2,ky))>0X(kx,ky)=1;br

6、eakelseifrem((kx-76),6)==0&&(X(kx+1,ky+2)+X(kx+1,ky-2)+X(kx-2,ky))>0X(kx,ky)=1;breakelseifrem((kx-77)/3+1,2)==0&&(X(kx-1,ky+2)+X(kx-1,ky-2)+X(kx+2,ky))>0X(kx,ky)=1;break%凝结判据elsecontinueendendend[m,n]=find(X);%找出凝结点scatter(m,n*sqrt(3)/2,'b.');%画图,进行坐标收缩axiseq

7、ual;结束谢谢!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。