% à?èê ??
clc;clear all ;close all
max_j=193;max_i=81;
d11=0.005 ; d13=0.005; d14=0.001;d12=0.001;
d15=0.0001; d16=0.0001 ; d17=0.0001 ; d18=0.0001;
n=0.7; % ?×???è
cdd=0.001; % Pcd1 ì?àéú 3¤ o????ê
numtotal_need=(1-n)*max_i*max_j;
numsoild=0;
arrgrid=zeros(max_i,max_j);
while numsoild<numtotal_need/40
for i=1:max_i
for j=1:max_j
if abs(rand())<cdd
numsoild=numsoild+1;arrgrid(i,j)=1;
soild(numsoild,1)=i;soild(numsoild,2)=j;
end
end
end
end
Tnumsoild=numsoild; % ×üéú 3¤ o?êy
% figure(1)
% imshow(~arrgrid) ; % 1 °×é ?ê??×??£?0oúé ?ê ?1ìì?
% μú 22?£?′ó 1ì?à?úo??ò?ü?§8??·??òéú 3¤
while Tnumsoild<numtotal_need
for index_soild=1:Tnumsoild
index_i=soild(index_soild,1);
index_j=soild(index_soild,2);
% o á× ?μ?ê?y·??ò
% êú× ?μ ?ê?x·??ò
%1ì?à ?úo??òóòéú 3¤ 1 ·??ò
if index_j<max_j-1
i=index_i;j=index_j+1; % óò1
if arrgrid(i,j)==0 && rand()<d11
numsoild=numsoild+1;arrgrid(i,j)=1;
soild(numsoild,1)=i;soild(numsoild,2)=j;
end
end
%1ì?à ?úo??òóòéú 3¤ 2 ·??ò
if index_i<max_i-1
i=index_i+1;j=index_j; % óò1
if arrgrid(i,j)==0 && rand()<d12
numsoild=numsoild+1;arrgrid(i,j)=1;
soild(numsoild,1)=i;soild(numsoild,2)=j;
end
end
%1ì?à ?úo??òóòéú 3¤ 3 ·??ò
if index_j>2+1
i=index_i;j=index_j-1;
if arrgrid(i,j)==0 && rand()<d13
numsoild=numsoild+1;arrgrid(i,j)=1;
soild(numsoild,1)=i;soild(numsoild,2)=j;
end
end
%1ì?à ?úo??òóòéú 3¤ 4 ·??ò
if index_i>2+1
评论2