export.m

来自「一些经典遗传算法问题的matlab程序调度问题分配问题等等」· M 代码 · 共 62 行

M
62
字号
function export(chr,fname)
% EXPORT - export the data from the GA to file
%   Exports the data in the GA in a tab separated fashion i.e.
%   des_name
%   id
%   gen_name_001    gen_name_002    etc
%   gen_value_001   gen_value_002   etc
for m=1:length(chr)
  chr(m)=set(chr(m),'id',strcat('id',int2str(m)));
end

fid=fopen(fname,'w');
fprintf(fid,num2str(length(chr)));
fprintf(fid,'\n');
gene_lenght(1:length(chr))=0;

for k=1:length(chr)
  if ~isempty(get(chr(k),'cdvs'))
    gene_length(k)=length(get(chr(k),'cdvs'));
  end
  if ~isempty(get(chr(k),'ddvs'))
    gene_length(k)=gene_length(k)+length(get(chr(k),'ddvs'));
  end
end

fprintf(fid,num2str(gene_length));
fprintf(fid,'\n');
for k=1:length(chr)
  
  fprintf(fid,strcat(get(chr(k),'name'),'\n'));
  fprintf(fid,strcat(get(chr(k),'id'),'\n'));
  ddvs=get(chr(k),'ddvs');
  cdvs=get(chr(k),'cdvs');
  names='';
  values='';
  if ~isempty(ddvs)
    for l=1:length(ddvs)
      names=strcat(names,get(ddvs(l),'name'),'\t');
      value=get(ddvs(l),'value');
      values=strcat(values,num2str(value),'\t');
    end
  end
  if ~isempty(cdvs)
    for l=1:length(cdvs)
      names=strcat(names,get(cdvs(l),'name'),'\t');
      value=get(cdvs(l),'value');
      values=strcat(values,num2str(value,'%8f'),'\t');
    end
  end
  fprintf(fid,names);
  fprintf(fid,'\n');
  fprintf(fid,values);
  fprintf(fid,'\n');
  end
fclose(fid);






⌨️ 快捷键说明

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