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

📄 save_chrom.m

📁 一些用matlab编写的经典遗传算法算例 挺有用的
💻 M
字号:
function save_chrom(fname,c)
% SAVE_CHROM - saves a chromosome to file
%   
fid=fopen(fname,'w');
gen=1;
fprintf(fid,'Total generations: %g\n',gen);
fprintf(fid,'Generation %g saved %s\n',gen,datestr(now));
fprintf(fid,'==========================================\n');
fprintf(fid,'%s %g','Number of chromosomes: ',length(c));
txt='--------------------------';
fprintf(fid,'\n%s\n\n',txt);

for j=1:length(c)
  fprintf(fid,'chromosome: %g\n%s\n',j,'---------------');
  
  fprintf(fid,'Name: %s\n',get(c(j),'name'));
  txt=sprintf('Fitness: %g\n',get(c(j),'fitness'));
  fprintf(fid,'%s',txt);


  cdvs=get(c(j),'cdvs');
  fprintf(fid,'CDVS:\n-----\n');

  for k=1:length(cdvs)
    fprintf(fid,'%s\t',get(cdvs(k),'name'));
  end
  fprintf(fid,'\n');
  for k=1:length(cdvs)
    fprintf(fid,'%g\t',get(cdvs(k),'value'));
  end
  fprintf(fid,'\n');
  for k=1:length(cdvs)
    fprintf(fid,'%g %g',get(cdvs(k),'l_limit'),get(cdvs(k), ...
						   'u_limit'));
    fprintf(fid,'\t');
  end
  fprintf(fid,'\n');
  for k=1:length(cdvs)
    fprintf(fid,'%g %g',get(cdvs(k),'bits'),todec(get(cdvs(k),'dna')));
    fprintf(fid,'\t');
  end
  
  fprintf(fid,'\n');fprintf(fid,'\n');
%===============DDVS=========================================
  
  ddvs=get(c(j),'ddvs');
  fprintf(fid,'DDVS:\n-----\n');
  for k=1:length(ddvs)
    fprintf(fid,'%s\t',get(ddvs(k),'name'));
  end
  fprintf(fid,'\n');
  for k=1:length(ddvs)
  fprintf(fid,'%g\t',get(ddvs(k),'value'));
  end
  
  fprintf(fid,'\n');
  for k=1:length(ddvs)
    p_val=get(ddvs(k),'p_val');
    fprintf(fid,'%g ',p_val);
    fprintf(fid,'\t');
  end
  fprintf(fid,'\n');
  for k=1:length(ddvs)
    fprintf(fid,'%g %g',get(ddvs(k),'bits'),todec(get(ddvs(k),'dna')));
    fprintf(fid,'\t');
  end
fprintf(fid,'\n');fprintf(fid,'\n');
end
fclose(fid);


function num = todec(dna)
% TODEC -
t=num2str(dna);
tmp='';
for k=1:length(t)      
if ~isspace(t(k))      
tmp=strcat(tmp,t(k));  
end                  
end
num=bin2dec(tmp);



⌨️ 快捷键说明

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