mutation.m

来自「朴素贝叶斯分类器」· M 代码 · 共 29 行

M
29
字号
function y=mutation(chrom,P_mutation)  %均匀变异
P=rand(size(chrom));
a=size(chrom,1);
for i=1:a
  n=find(P(i,:)<P_mutation);   %选出要变异的基因
  len=length(n);
  for j=1:len
    chrom(i,n(j))=rand(1,1);
  end
end
% Q=rand(1,size(chrom,2));  %选择哪个染色体变异
% P=rand(1,size(chrom,1));  %染色体哪个位段变异
% R=sort(P);
% k=R(10);
% for i=1:size(P,2)
%    if P(i)<=k
%       P(i)=1;
%    else P(i)=0;
%    end
% end
% z=find(P==1);
% for l=1:size(z,2)
%   n=find(Q<P_mutation);               %选出要变异的基因
%   len=length(n);
%   for j=1:len
%     chrom(z(l),n(j))=~chrom(z(l),n(j));  %选出位段变异
%   end
% end
y=chrom;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?