| 查看: 521 | 回复: 1 | ||
[求助]
在Matlab上模拟DLA的吸附,请大神帮忙修改下代码,谢谢
|
|
% clc;clear;close all; rand('state',0); set(gcf,'DoubleBuffer','on'); N=256; % 生成状态矩阵大小的控制参数 S=ones(N); % 生成状态矩阵S % S(N/2,N/4:N*3/4)=0; % 设置状态矩阵的初始值 S(N/2:N*3/4,N/2)=0; % 设置状态矩阵的初始值 Ii=imshow(S); % 显示状态矩阵 ti=title(['time = 0',', N=0'],'Fontsize',14,'Fontname','Times New Roman'); % 显示时间 T=0; % 记录时间的参数 for k=1:30000; % 循环计算 xt=4; % 产生粒子的位置 yt=N/2; % 产生粒子的位置 Ss=0; % 控制下面循环是否终止的参数 while Ss<1; % 计算当前粒子的吸附过程 [dx,dy]=choose_D(0.25,0.25,0.25,0.25); % 计算粒子位移量 xt=xt+dx; % 计算下一时刻粒子的位置 yt=yt+dy; % 计算下一时刻粒子的位置 if xt<2.5|xt>N-1.5||yt<2.5|yt>N-1.5; % 判断粒子是否逸出边界 Ss=2; % 把Ss赋值为2,从而可以退出循环 end if [S(xt+1,yt)+S(xt-1,yt)+S(xt,yt+1)+S(xt,yt-1)]<3.5; % 判断近邻是否有粒子 S(xt,yt)=0; % 固定当前运动的粒子 Ss=2; % 把Ss赋值为2,从而可以退出循环 end end set(Ii,'CData',S); % 显示当前状态矩阵 T=T+1; % 累加时间参数 set(ti,'String',['time = ',num2str(T),', N=',num2str(sum(sum(1-S))-[N/4+1])]); % 更新时间参数 pause(0.01); % 暂停一下,显示动画效果 end |
» 猜你喜欢
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有171人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
求助NH4V4O10晶体的CIF文件
已经有0人回复
英国全奖博士招聘-深度学习与量子物理
已经有0人回复
间接带隙半导体有效质量求助
已经有1人回复
投稿chemical physical letters不送审?
已经有2人回复
» 本主题相关价值贴推荐,对您同样有帮助:
在matlab上运行,大神帮忙调试下,是搞分形模拟的DLA
已经有10人回复
2楼2013-10-11 08:35:28













回复此楼