copy.m

来自「本程序为遗传算法源程序」· M 代码 · 共 31 行

M
31
字号
function [child]=copy(pop,bounds,SC,num)
 %复制函数,若小于复制概率最大样本点用最小样本点代替(包括位置和适应度)
 %SC是复制概率
 %q1是最大样本所在行,q2是最小样本所在行
 %记录最大点,最小点;最大值和最小值
q1=1;q2=1;
for i=1:num
    f(i)=myfun(pop(i,:),size(bounds,1));
end

min=f(1);max=f(1);

for i=1:num
  if(f(i)<f(1))
      min=f(i);
      
      q1=i;                 %记录最小点位置
      elseif (f(i)>f(1))
        max=f(i);
        
        q2=i;               %记录最大点位置
   end
end
 if(rand<SC)
    pop(q2,:)=pop(q1,:);
 end
child=pop;
 


⌨️ 快捷键说明

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