📄 print.m
字号:
function print(fname,chr,arch)% PRINT - Prints a summary of a generation to a file specified by 'fname'% print('fname',chr,arch) saves the generation chr to file 'fname'% arch is the prototypes for the species.% See also LOGBOOKchr=sort(chr);chr=fliplr(chr);fid=fopen(fname,'w');fprintf(fid,'File created: %s\n',datestr(now)); fprintf(fid,'==================================\n\n');[mx g_max]=max(chr);[mn g_min]=min(chr);fprintf(fid,'Maximum fitness: %g\n',mx);fprintf(fid,'Average fitness: %g\n',mean(chr));fprintf(fid,'Minimum fitness: %g\n',mn);fprintf(fid,'------------------------\n');fprintf(fid,'Best gen\n');fprintf(fid,'--------\n');write(fid,g_max);fprintf(fid,'Worst gen\n');fprintf(fid,'---------\n');write(fid,g_min);for k=1:length(arch) ind=find(chr,get(arch(k),'name')); if ind fprintf(fid,'Members in design: %s\n',get(arch(k),'name')); fprintf(fid,'------------------------------\n'); write(fid,chr(ind)); end endfclose(fid);function write(fid,c)% SAVE_CHROM - saves a chromosome to file% for j=1:length(c) 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 %===============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');% $$$ endendfunction num = todec(dna)% TODEC -t=num2str(dna);tmp='';for k=1:length(t) if ~isspace(t(k)) tmp=strcat(tmp,t(k)); end endnum=bin2dec(tmp);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -