?? aberrance.m
字號:
function ChromNew=aberrance(Chrom,NIND,MUTR,WNumber)
% Chrom=[1 2 3 4 6 7 8 9 5;
% 3 4 5 6 2 1 8 7 9;
% 3 4 5 6 2 1 8 7 9;
% 1 2 3 4 5 6 8 7 9;
% 3 4 2 6 1 8 5 7 9;
% 8 9 5 4 6 3 2 1 7 ;
% 7 4 5 6 2 3 1 8 9;
% 3 4 5 8 2 1 7 9 6;
% 3 4 1 5 6 9 2 8 7 ;
% 9 4 5 3 6 1 2 8 7 ;
% ];
% NIND=10;
%
% WNumber=9;
% MUTR=0.2;
%新群
ChromNew=Chrom;
for i=1:NIND
%是否變異
a=rand;
if MUTR>a;
%變異位置
Pos1=unidrnd(WNumber);
Pos2=unidrnd(WNumber);
%變異位置不相同
while Pos1==Pos2
Pos2=unidrnd(WNumber);
end
%取數據
S=Chrom(i,:);
%交換
temp=S(Pos1);
S(Pos1)=S(Pos2);
S(Pos2)=temp;
ChromNew(i,:)=S;
end
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -