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

📄 select.m

📁 #include "stdio.h" #include "math.h" #include "malloc.h" #include "string.h" #define m 6 #defin
💻 M
字号:
function ret=select(individuals,sizepop)
%轮赌盘选择
        sumfitness=sum(individuals.fitness);  %这里的适应值还用再倒吗?
        sumf=(individuals.fitness)./sumfitness;
%         index=[]; 
%         for i=1:sizepop
%             pick=rand;
%             while pick==0  %pick ~= 0 
%                  pick=rand;
%             end
%             for i=1:sizepop       %这里的i应该是j ?
%                 pick=pick-sumf(i);
%                 if pick<0         
%                    index=[index i];
%                    break;
%                 end
%             end
%         end
%         individuals.chrom=individuals.chrom(index,:);
%         individuals.fitness=individuals.fitness(index);
        sumf=cumsum(sumf);
        rns=sort(rand(sizepop,1));
        fitin=1;newin=1;
        while newin<=sizepop
            if rns(newin)<sumf(fitin)
                chrom(newin,:)=individuals.chrom(fitin,:);
                fitness(newin)=individuals.fitness(fitin);
                newin=newin+1;
            else
                fitin=fitin+1;
            end
        end
        individuals.chrom=chrom;
        individuals.fitness=fitness;
        ret=individuals;

⌨️ 快捷键说明

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