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

📄 rep_utils.m

📁 it is matlab code , som(slef organizing map) tool for matlab
💻 M
📖 第 1 页 / 共 2 页
字号:
  return; %% report elements (list, table, image, link)function str = fmtline(str)  % replace some formatting elements depeding on output format  global REPORT_OUTPUT_FMT  if isempty(str), str = ''; return; end  switch REPORT_OUTPUT_FMT,    case {'ps','pdf'},      str = strrep(str,'<B>',  '{\bf ');     str = strrep(str,'<I>',  '{\em ');     str = strrep(str,'<TT>', '{\tt ');     str = strrep(str,'</B>', '}');     str = strrep(str,'</I>', '}');     str = strrep(str,'</TT>','}');     str = strrep(str,'#','\#');      str = strrep(str,'%','\%');   case 'html', % nil   case 'txt',      str = strrep(str,'<B>',  '*');     str = strrep(str,'<I>',  '*');     str = strrep(str,'<TT>', '');     str = strrep(str,'</B>', '*');     str = strrep(str,'</I>', '*');     str = strrep(str,'</TT>','');  end  return;function cs = insertbreak    global REPORT_OUTPUT_FMT    cs = cell(0);     switch REPORT_OUTPUT_FMT    case {'ps','pdf'}, cs{end+1} = '';    case 'html', cs{end+1} = '<P>';    case 'txt', cs{end+1} = '';     end       return;    function insertlist(list,enum)  % make list  global REPORT_OUTPUT_FMT  if nargin<2, enum = 0; end  cs = cell(0);  switch REPORT_OUTPUT_FMT   case {'ps','pdf'},     if enum, tag = 'enumerate'; else tag = 'itemize'; end    starttag = ['\begin{' tag '}'];    listtag = '\item ';    endtag = ['\end{' tag '}'];   case 'html',     if enum, tag = 'OL'; else tag = 'UL'; end    starttag = ['<' tag '>'];    listtag = '<LI>';    endtag = ['</' tag '>'];      case 'txt',    starttag = '';     listtag = '- ';    endtag = '';   end  cs{end+1} = starttag;  for i=1:length(list), cs{end+1} = sprintf('%s %s',listtag,list{i}); end  cs{end+1} = endtag;   return;function csout = tablerow(cs,emp,span)  % construct one table row  global REPORT_OUTPUT_FMT  if nargin<2 | isempty(emp), emp = 'none'; end  if nargin<3 | isempty(span), span = ones(length(cs),2); end  rowspan = span(:,1); colspan = span(:,2);  switch emp,   case 'bold',   emp1 = '<B>';  emp2 = '</B>';    case 'italic', emp1 = '<I>';  emp2 = '</I>';    case 'fixed',  emp1 = '<TT>'; emp2 = '</TT>';              case 'none',   emp1 = '';     emp2 = '';    case 'header', emp1 = '';     emp2 = ''; tag = 'TH';  end        csout = cell(0);   switch REPORT_OUTPUT_FMT,    case {'pdf','ps'},     %switch emp,    % case 'bold',   emp1 = '{\bf '; emp2 = '}';     % case 'italic', emp1 = '{\em '; emp2 = '}';     % case 'fixed',  emp1 = '{\tt '; emp2 = '}';           % case 'none',   emp1 = '';      emp2 = '';     %end        s0 = '';     for i=1:length(cs),       if rowspan(i) & colspan(i), 	 sp1 = ''; sp2 = '';         if colspan(i)>1, sp1 = [sp1 ' \multicolumn{' num2str(colspan(i)) '}{|c|}{']; sp2 = [sp2 '}']; end         if rowspan(i)>1, sp1 = [sp1 ' \multirow{' num2str(rowspan(i)) '}{2cm}{']; sp2 = [sp2 '}']; end	 s = s0; 	 content = cellstr(defaultformat(cs{i})); 	 csout{end+1} = [s sp1 emp1 content{1}]; 	 for j=2:length(content), csout{end+1} = content{j}; end	 csout{end} = [csout{end} emp2 sp2]; 	 s0 = ' & ';       end    end    csout{end} = [csout{end} ' \\'];    case 'html',     tag = 'TD';    csout{end+1} = '<TR>';         for i=1:length(cs),      if rowspan(i) & colspan(i),          sp = '';         if rowspan(i)>1, sp = [sp ' ROWSPAN=' num2str(rowspan(i))]; end         if colspan(i)>1, sp = [sp ' COLSPAN=' num2str(colspan(i))]; end         s = sprintf('<%s%s>%s',tag,sp,emp1);	     content = cellstr(defaultformat(cs{i})); 	     csout{end+1} = [s content{1}]; 	     for j=2:length(content), csout{end+1} = content{j}; end	     csout{end} = [csout{end} emp2 '</' tag '>'];       end    end    csout{end+1} = '</TR>';    case 'txt',    for i=1:length(cs), csout{end+1} = defaultformat(cs{i}); end  end  return;  function cs = inserttable(sTable,rowlines,long)  % put table contents to cellstr  global REPORT_OUTPUT_FMT    if nargin<2, rowlines = 1; end  if nargin<3, long = 0; end  [rows cols] = size(sTable.values);  cs = cell(0);   if isempty(sTable.colfmt), cf = 'c'; sTable.colfmt = cf(ones(1,cols)); end  if isempty(sTable.span), sTable.span = ones([rows cols 2]); end    switch REPORT_OUTPUT_FMT   case {'ps','pdf','tex','latex'}    li1 = ' \hline';      if rowlines>0, li2 = li1; li3 = li1;     elseif rowlines==0, li2 = ''; li3 = li1;     else li1 = ''; li2 = ''; li3 = '';      end    if long, tbl = 'longtable'; else tbl = 'tabular'; end    cs{end+1} = ['\begin{' tbl '}{' sTable.colfmt '}' li1];    if ~isempty(sTable.headers),       row = tablerow(sTable.headers,'bold');       for i=1:length(row), cs{end+1} = row{i}; end      cs{end} = [cs{end} li1 li2];     end    for i=1:rows,       row = tablerow(sTable.values(i,:),'',squeeze(sTable.span(i,:,:)));       for i=1:length(row), cs{end+1} = row{i}; end      cs{end} = [cs{end} li2];     end     if ~rowlines, cs{end} = [cs{end} li3]; end    cs{end+1} = ['\end{' tbl '}'];   case 'html'    cs{end+1} = ['<TABLE BORDER=' num2str(rowlines>0) '>'];    if ~isempty(sTable.headers),       row = tablerow(sTable.headers,'header');       for i=1:length(row), cs{end+1} = row{i}; end    end    for i=1:rows,       row = tablerow(sTable.values(i,:),'',squeeze(sTable.span(i,:,:)));       for i=1:length(row), cs{end+1} = row{i}; end    end    cs{end+1} = '</TABLE>';   case 'txt'    cT = [sTable.headers(:)'; sTable.values];     A = cell2char(cT);     for i=1:size(A,1), cs{end+1} = A(i,:); end          end    return;function A = cell2char(T)  [nrow,ncol] = size(T);   rowsep = 0;   colsep = 1;  % change to strings  for i=1:nrow,     for j=1:ncol,       t = T{i,j};      if ischar(t),        % ok      elseif isempty(t),   T{i,j} = '';       elseif isstruct(t),  % ??      elseif iscell(t),    T{i,j} = cell2char(t);       elseif isnumeric(t), T{i,j} = num2str(t,3);       end    end  end  % widths of columns and heights of rows   HW = ones(nrow,ncol,2);  for i=1:nrow, for j=1:ncol, HW(i,j,:) = size(T{i,j}); end, end  colw = max(HW(:,:,2),[],1);   rowh = max(HW(:,:,1),[],2);   % the table itself  A = char(32*ones(sum(rowh)+rowsep*(nrow-1),sum(colw)+colsep*(ncol-1)));  for i=1:nrow,     for j=1:ncol,      i0 = (i-1)*rowsep+sum(rowh(1:i-1));      j0 = (j-1)*colsep+sum(colw(1:j-1));       S = char(32*ones(rowh(i),colw(j)));       si = size(T{i,j}); S(1:si(1),1:si(2)) = T{i,j};       A(i0+[1:rowh(i)],j0+[1:colw(j)]) = S;     end  end  return;   function s = inserttominipage(s,width)  if nargin<2 | isempty(width) | isnan(width), width = 1; end  width = ['{' num2str(width) '\columnwidth}'];  mp1 = '\begin{minipage}[t]'; mp2 = '\end{minipage}';     if size(s,1)==1, s = [mp1 width s mp2];  else s = char({[mp1 width]; s; mp2});  end  return;   function cs = insertfigure(fname,boxsize,inminipage)  global REPORT_OUTPUT_FMT  if nargin<2, boxsize = [NaN 1]; end  if nargin<3, inminipage = 0; end  htmlpagewidth = 800;  si = cell(0);   switch REPORT_OUTPUT_FMT,        case {'ps','pdf'},     if ~isnan(boxsize(1)), si{end+1} = ['height=' num2str(boxsize(1)) '\textheight']; end    if ~isnan(boxsize(2)), si{end+1} = ['width=' num2str(boxsize(2)) '\columnwidth']; end    if length(si), si = [', ' joinstr(si, ', ', ', ')]; end   case 'html',     if ~isnan(boxsize(1)), si{end+1} = ['HEIGHT=' num2str(htmlpagewidth*boxsize(1))]; end    if ~isnan(boxsize(2)), si{end+1} = ['WIDTH=' num2str(htmlpagewidth*boxsize(2))]; end       if length(si), si = [' ' joinstr(si, ' ', ' ')]; end   case 'txt',     % nil   end      switch REPORT_OUTPUT_FMT,        case 'ps',   s = ['\epsfig{file=./' fname '.ps ' si '}'];    case 'pdf',  s = ['\includegraphics[' si ']{./' fname '.pdf}'];   case 'html',     fn = [fname '.' fmt2imgfmt];     s = ['<IMG SRC="' fn '" ALIGN="center" ALT="' fname '"' si '>'];    s = makelinkfrom(fn,s);    case 'txt',     s = ['[image:' fname ']'];  end  switch REPORT_OUTPUT_FMT,    case {'ps','pdf'},    if inminipage, s = inserttominipage(s,boxsize(2)); end   case 'html',     s = ['<CENTER>' s '</CENTER>'];    case 'txt',     % nil  end  cs = {s};  return;function str = makelinkfrom(linkto,anchor)    global REPORT_OUTPUT_FMT  if iscell(linkto),     if strcmp(REPORT_OUTPUT_FMT,'html'), linkto = joinstr(linkto,'','#');     else linkto = joinstr(linkto,'','');     end  end  switch REPORT_OUTPUT_FMT,     case 'pdf',  str = ['\hyperlink{' linkto '}{' anchor '}'];   case 'ps',   str = [anchor ' (p.\pageref{' linkto '})'];    case 'html', str = ['<a href="' linkto '">' anchor '</a>'];    case 'txt', str = '';   end  return;       function str = makelinkto(linkname)  global REPORT_OUTPUT_FMT  switch REPORT_OUTPUT_FMT,     case 'pdf',     fmt = '\pdfdest name {%s} fit \pdfoutline goto name {%s} {%s}';     str = sprintf(fmt,linkname,linkname,linkname);   case 'ps',   str = ['\label{' linkname '}'];    case 'html', str = ['<a name="' linkname '"> </a>'];    case 'txt', str = '';   end  return;

⌨️ 快捷键说明

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