mutation.m

来自「good code for matlab by mili , i than yo」· M 代码 · 共 34 行

M
34
字号
function ret = Mutation(nDes,X)
global xv1 yv1 xv2 yv2
% mutate all the vectors by changing a single element
XX = X;
[n m] =size(X);

xcur = xv1;
frac = 0.3;
    
dxv = xv2 - xv1;
dyv = 4;
for i = 1:2:nDes-1
   x(i) = xcur + (xv2 - xcur)*frac*rand(1,1);
   x(i+1) =  dyv*rand(1,1);
   xcur = x(i);
   frac = 1;
end


for i = 1:n
   r = rand(1,1);
	if r > 0.5
   	r1 = floor(nDes*r);
	else
   	r1 = ceil(nDes*r);
   end
   
   for j = 1:m
      if(j == r1) 
         XX(i,j) = x(j);
      end
   end
end
ret = XX;

⌨️ 快捷键说明

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