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

📄 selection.m

📁 此包含有遗传算法、粒子群算法、BP算法优化对角递归神经网络的MATLAB程序
💻 M
字号:
function [evo_gen,best_indiv,max_fitness,weizhi]=selection(bin_gen,fitness)
popsize=length(fitness);
[max_fitness,weizhi]=max(fitness);
[min_fitness,index2]=min(fitness);
best_indiv=bin_gen(weizhi,:);
index=[1:popsize];
index(weizhi)=0;
index(index2)=0;
index=nonzeros(index);
evo_gen=bin_gen(index,:);
danyuan=ones(1,popsize);
danyuan(weizhi)=0;
danyuan(index2)=0;
fitness1=danyuan.*fitness;
fitness1=nonzeros(fitness1);
evo_fitness=fitness1;
evo_popsize=popsize-2;
ps=evo_fitness/sum(evo_fitness);%求选择概率p(x)=f(x)/sumf(x)
pscum=cumsum(ps);%求累计概率(详见遗传算法工具箱第17至21页)
r=rand(1,evo_popsize);
selected=sum(pscum*ones(1,evo_popsize)<ones(evo_popsize,1)*r)+1;
evo_gen=evo_gen(selected,:);

⌨️ 快捷键说明

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