📄 initization.m
字号:
function P=initization(m,n,MM,d)
P=zeros(m,18*n+22);%P保存初始路径坐标
p=zeros(m,9*n+10);%p保存初始路径序号n+2+(n+2-1)*2=3n+4
chrom=zeros(m,n);%保存插入点的序号
chrom1=ones(m,1);%保存起始点序号1
chrom2=MM*ones(m,1);%保存目标点序号100
%生成不在障碍物里的栅格序号
for i=1:m
for j=1:n
chrom(i,j)=round(2+(MM-1-2)*rand);
coordinate=ymadjp1(chrom(i,j),d);
x0=coordinate(1);
y0=coordinate(2);
if (1<=x0&&x0<=4 &&14<=y0&&y0<=18)||(8<=x0&&x0<=13 && 8<=y0&&y0<=13)|| (14<=x0&&x0<=17 &&2<=y0&&y0<=5)
chrom(i,j)=round(2+(54-2)*rand);
end
end
end
p(:,1)=chrom1;
p(:,n+2)=chrom2;%分别将起始点和目标点的序号存入p的第一列和最后一列
for i=1:n
p(:,i+1)=chrom(:,i);%将新生成的m*n矩阵从第二列开始存入p中
end %最后生成了存有序号的初始矩阵p
for i=1:m
for j=1:9*n+10
coordinate=ymadjp1(p(i,j),d);%将p中各序号转换为坐标
P(i,2*j+1)=coordinate(1);
P(i,2*j+2)=coordinate(2);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -