📄 example5_4.m
字号:
function[newPop] = Select(oldPop,options)
q=options(2); % 选择最优的概率
e = size(oldPop,2);
n = size(oldPop,1); % 种群中个体的数目
newPop = zeros(n,e); % 初始化
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));
fitIn=1; newIn=1;
while newIn<=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 + -