findminusinges.asv

来自「其中提到遺傳學的程式碼與應用提供給次淚相向的研究者參考下載」· ASV 代码 · 共 33 行

ASV
33
字号
% findMinUsingES.m

rand('state',sum(100*clock));  % Seed
% Initial popu
genSize=100; popuSize=50;
range=[-5 -5
    5 5];
[junk,var_n]=size(range);
for i=1:var_n
    popu(1:popuSize,i)=rand(popuSize,1)*(range(2,i)-range(1,i))+...
        range(1,i);
end
MIN_offset=5;
% Fitness calculation
fit=sinc(popu(:,1)).*sinc(popu(:,2));
fit=MIN_offset-fit;
globalFit=0;
% Generation begins
for loop=1:genSize
  % Best Fitness
  [bestFit, indx]=max(fit);
  if bestFit>globalFit, globalFit=bestFit
  fprintf('#Gen=%4d;bestFit=%15.8f;x=%9.6f;y=%9.6f\n',...
      loop,MIN_offset-bestFit,popu(indx,1),popu(indx,2));
  % Selection
  popu=GA_wheel(fit, popu);
  % Mutation
  sigma=1;
  popu=GA_evolutionStrategy(popu,range,sigma);
  % Fitness calculation
  fit=sinc(popu(:,1)).*sinc(popu(:,2));
  fit=MIN_offset-fit;
end

⌨️ 快捷键说明

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