📄 dla8.m
字号:
R=80;
Table=zeros(R,R);
Table(R/2,R/2)=1;
N=500;
Step=1;
left=0;right=0;up=0;down=0;
p=1;
for i=1:1:N
theta=rand(1)*2*pi;
Xt=R/2+floor((R-2)/2*cos(theta));
Yt=R/2+floor((R-2)/2*sin(theta));
judge=0;
while judge==0
if rand(1)<=0.5
if rand(1)<=0.5 & right==0
Xt=Xt+Step;
else
if left==0
Xt=Xt-Step;
end
end
else
if rand(1)<=0.5 & up==0
Yt=Yt+Step;
else
if down==0
Yt=Yt-Step;
end
end
end
if Xt>R
Xt=Xt-R;
elseif Xt<=0
Xt=Xt+R;
elseif Yt<=0
Yt=Yt+R;
elseif Yt>R
Yt=Yt-R;
else
end
left=0;
right=0;
up=0;
down=0;
P=0;
if Xt+1<=R
if Table(Xt+1,Yt)~=0
P=p;
right=1;
end
end
if Xt-1>=1
if Table(Xt-1,Yt)~=0
P=p;
left=1;
end
end
if Yt+1<=R
if Table(Xt,Yt+1)~=0
P=p;
up=1;
end
end
if Yt-1>=1
if Table(Xt,Yt-1)~=0
P=p;
down=1;
end
end
if rand(1)<=P
Table(Xt,Yt)=1;
judge=1;
break;
end
end
end
Count=1;
for i=1:1:R
for j=1:1:R
if Table(i,j)==1
Count=Count+1;
axis([1 R 1 R]);
figure(1);
plot(i,j,'.');
hold on;
end
end
end
Count;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -