📄 popmerge31.asv
字号:
function [individuals4] = PopMerge31(individuals1,individuals2,individuals3,sizepop,lenchrom,fcode,bound);%从群体individual1,individual2,individual3中选出4个最佳个体构成数组individual4%%%编写时间 2008.4.5for i = 1:4 [fitnessbest,pos] = min(individuals1.fitness); individuals4.chrom(i,:) = individuals1.chrom(pos,:); individuals1.fitness(pos) = 10000;endfor i = 1:sizepop individuals1.chrom(i,:)=Code(lenchrom,fcode,bound); %编码(binary和grey的编码结果为一个实数,float的编码结果为一个实数向量) x=Decode(lenchrom,bound,individuals1.chrom(i,:),fcode);%解码(binary和grey的解码结果为一个二进制串,float的解码结果为一个实数向量) %计算适应度 %修改处 %individuals.fitness(i)=AimFunc(x,heli,id_data,0); individuals1.fitness(i)=Aimfunc(x); %染色体的适应度endfor i = 5:8 [fitnessbest,pos] = min(individuals2.fitness); individuals4.chrom(i,:) = individuals2.chrom(pos,:); individuals2.fitness(pos) = 10000;endfor i = 1:sizepop individuals2.chrom(i,:)=Code(lenchrom,fcode,bound); %编码(binary和grey的编码结果为一个实数,float的编码结果为一个实数向量) x=Decode(lenchrom,bound,individuals2.chrom(i,:),fcode);%解码(binary和grey的解码结果为一个二进制串,float的解码结果为一个实数向量) %计算适应度 %修改处 %individuals.fitness(i)=AimFunc(x,heli,id_data,0); individuals2.fitness(i)=Aimfunc(x); %染色体的适应度endfor i = 9:12 [fitnessbest,pos] = min(individuals3.fitness); individuals4.chrom(i,:) = individuals3.chrom(pos,:); individuals3.fitness(pos) = 10000;endfor i = 1:sizepop individuals3.chrom(i,:)=Code(lenchrom,fcode,bound); %编码(binary和grey的编码结果为一个实数,float的编码结果为一个实数向量) x=Decode(lenchrom,bound,individuals3.chrom(i,:),fcode);%解码(binary和grey的解码结果为一个二进制串,float的解码结果为一个实数向量) %计算适应度 %修改处 %individuals.fitness(i)=AimFunc(x,heli,id_data,0); individuals3.fitness(i)=Aimfunc(x); %染色体的适应度end% 计算适应度 for j=1:sizepop x=Decode(lenchrom,bound,individuals.chrom(j,:),fcode); %解码 % 修改处 %individuals.fitness(j)=AimFunc(x,heli,id_data,0); individuals.fitness(j)=Aimfunc(x); end trace4=[avgfitness bestfitness];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -