📄 mutation.m
字号:
function [Pm]=Mutation(Pc,pm)
% 变异操作
% input:
% Pc --- 种群
% pm --- 变异概率
% output:
% Pm --- 变异操作后的种群
%-------------------------------------------------------------------------%
N=size(Pc,1); % 染色体总数
for i=1:N
r=rand;
ch=Pc(i,:);
if r<pm % 进行变异操作
id=1+floor(length(ch)*rand); % 产生一个随机变异位
if ch(id)==0
r1=rand;
if r1<0.5
ch(id)=2*rand;
else
ch(id)=-2*rand;
end
else
r2=rand;
if r2<0.5
ch(id)=(1+2*rand)*ch(id);
else
ch(id)=(1-2*rand)*ch(id);
end
end
end
Pc(i,:)=ch;
end
Pm=Pc;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -