📄 statistics.m
字号:
% 函数-统计种群的适应度
function [sumfitness,bestfit] = statistics(pop,bestfit,gen,outfp)
popsize = length(pop);
lchrom = length(pop(1).chrom);
min = pop(1).fitness;
max = pop(1).fitness;
sumfitness = 0;
for j = 1:popsize
sumfitness = sumfitness + pop(j).fitness;
if(pop(j).fitness > max)
max = pop(j).fitness;
end
if(pop(j).fitness < min)
min = pop(j).fitness;
end
% 如果是最佳个体,保留入 bestfit
if(pop(j).fitness > bestfit.fitness)
bestfit.chrom = pop(j).chrom;
bestfit.fitness = pop(j).fitness;
bestfit.generation = gen;
end
end
avg = sumfitness/popsize; % 种群的平均适应度
% 输出种群统计值
fprintf(outfp,' 种群的平均适应度为: %8.2f\n',avg);
fprintf(outfp,' 最大适应度为: %8.2f\n',max);
fprintf(outfp,' 最小适应度为: %8.2f\n',min);
fprintf(outfp,' 最佳个体编码为: ');
for i = 1:lchrom
fprintf(outfp,'%3.0f',bestfit.chrom(i));
end
fprintf(outfp,'\n 最佳个体的适应度为: %8.2f\n',bestfit.fitness);
fprintf(outfp,' 最佳个体染色体代数为: %8.0f\n',bestfit.generation);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -