initializega.m

来自「the file contain many matlab signal sour」· M 代码 · 共 33 行

M
33
字号
function [pop]=initializega(num,bounds,eevalFN,eevalOps,options)
if nargin<5
    options=[1e-6 1];
end 
if nargin<4
    eevalOps=[];
end
if options(2)==1  %浮点编码
    estr=['[pop(i,:)pop(i,xZomeLength)]='eevalFN'(pop(i,:),[0 eevalOPs];'];
    else  %二进制编码
      estr=['x=b2f(pop(1,:),bounds,bits);[x,v]='eevalFN(x,[0 eevalOps]);
          pop(i,:)=[f2b(x,bounds,bits) v];'];
      end
  end
  
  
  numVsa=size(bounds,1);     %变量数目
  mg=(bounds(:2)-bounds(:,1))';  %变量边界
   
  
  if options(2)==1
      xZomeLength=nimVars+1;
      pop=zeros(num,xZomeLength);
      pop(:,1:numVars)=(ones(num,1)*mg).*(rand(num,numVars))+(ones(num,1)*bounds(:,1)');
  else
      bits=calcbits(bounds,options(1));
      xZomeLength=sum(bits)+1;
      pop=round(rand(num,sum(bits)+1));
  end
  
  for i=1:num
      eeval(estr);
  end

⌨️ 快捷键说明

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