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

📄 selection1.m

📁 请大家看一看, 我编的这个用遗传算法求 f(x)=xsin(10pi*x)+2.0 x为-1到2区间的值
💻 M
字号:
 function newpop=selection1(pop,fitness)
  sumfit=sum(fitness);   %fitness为个体适应度;
  Y=fitness/sumfit;      %Y为个体被选中的概率组成的矩阵;
  n=size(Y,1);           %矩阵的行数;
 Z(1,1)=Y(1,1)           %Z为累积概率所组成的矩阵;
 for i=2:n
     Z(i,1)=Y(i,1)+Z(i-1,1);
 end
 Z;
 L=sort(rand(n,1));
   newina=1;
   newinb=1; 
 %newpop=rand();
  while newinb<=n
       if  Z(newina)>L(newinb)
           newpop(newinb,:)=pop(newina,:);
           newinb=newinb+1;
       else
           newina=newina+1;
       end 
   end

⌨️ 快捷键说明

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