⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 normgeomselect.m

📁 MATLAB7辅助控制系统设计与仿真 附录D
💻 M
字号:
function[newPop] = normGeomSelect(oldPop,options)
q=options(2); 				% 选择最优的概率
e = size(oldPop,2); 			% xZome的长度, 即:numvars+fit
n = size(oldPop,1); 		% 种群中个体数目
newPop = zeros(n,e); 		% 为返回pop分配内存空间
fit = zeros(n,1); 			% 为返回选择概率分配内存
x=zeros(n,2); 			       
x(:,1) =[n:-1:1]'; 			
[y x(:,2)] = sort(oldPop(:,e)); 	
r = q/(1-(1-q)^n); 			% 分布归一化
fit(x(:,2))=r*(1-q).^(x(:,1)-1); 	% 生成选择概率 
fit = cumsum(fit); 			% 计算概率函数的累积和
rNums=sort(rand(n,1)); 		% 生成n个排序的任意数
fitIn=1; newIn=1; 			% 循环初始化
while newIn<=n 			% 生成n个新个体
  if(rNums(newIn)<fit(fitIn)) 		
    newPop(newIn,:) = oldPop(fitIn,:); 	 
    newIn = newIn+1; 		
  else
    fitIn = fitIn + 1; 		
  end
end

⌨️ 快捷键说明

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