📄 wh_creat_group_xin.m
字号:
function [y,M]=wh_Creat_Group_Xin(End,Sample_Sum,Sample_Sum_Dimension)%产生初始群体,其中个体有相同的可能
% End=12;%数组(群体)元素值为1~End
% Sample_Sum=50;%数组的行数
% Sample_Sum_Dimension=3;%数组的列数
B=round(End*rand(Sample_Sum,Sample_Sum_Dimension));
for i=1:Sample_Sum%实现数组中行向量元素升序排序
for j=1:Sample_Sum_Dimension
for k=1:Sample_Sum_Dimension
if (B(i,j)<B(i,k))
TT=B(i,j);B(i,j)=B(i,k);B(i,k)=TT;
end
end %k
end%j
end%i
for i=1:Sample_Sum%判断每个行向量的各元素间互异
while (1)
T=0;%代表产生的数组满足要求,每个数组的元素之间值是互异的,并且值不为0
for j=1:Sample_Sum_Dimension
for k=1:Sample_Sum_Dimension
if and((j~=k),(B(i,j)==B(i,k)))
T=1;B(i,j)=round(End*rand(1));B(i,k)=round(End*rand(1));break;
end
end %k
if or((B(i,j)==0),(T==1))
T=1;B(i,j)=round(End*rand(1));break;
end
end%j
if (T==0)
break;
end
end%while
end%for i=1:Sample_Sum
for i=1:Sample_Sum%实现数组中行向量元素升序排序
for j=1:Sample_Sum_Dimension
for k=1:Sample_Sum_Dimension
if (B(i,j)<B(i,k))
TT=B(i,j);B(i,j)=B(i,k);B(i,k)=TT;
end
end %k
end%j
end%i
M=0;
for i=1:Sample_Sum
for j=i+1:Sample_Sum
if (B(i,:)==B(j,:))
M=M+1;
end
end
end
y=B;%输出初始群体
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -