Code covered by the BSD License  

Highlights from
File Ordering Patch Utility for MATLAB

image thumbnail

File Ordering Patch Utility for MATLAB

by

Michael Chan (view profile)

 

15 Oct 2010 (Updated )

The utility patches the reordering considering the length of the filename during the sorting.

cell2str(c,n,mode)
%CELL2STR Convert 2-D cell array into evaluable string.
%   B = CELL2STR(C) returns a B such that C = EVAL(B), under the
%   following contraits:
%   - C contains only numeric arrays or strings, not structs
%     nor objects.
%   - NDIMS(C) = 2.
%
%   B = CELL2STR(C,N) uses N digits of precision for numeric
%   arrays. N defaults to 15.
%
%   B = CELL2STR(C,'class') and B = CELL2STR(C,N,'class') also
%   include the class string for the numeric arrays
%
%   See also MAT2STR

% (C) Copyright 2010, All rights reserved.
% Cris Luengo, Uppsala, 12 August 2010.

function str = cell2str(c,n,mode)

if nargin==2
   if isnumeric(n)
      mode = '';
   else
      mode = n;
      n = 15;
   end
elseif nargin==1
   mode = '';
   n = 15;
end

if ~isnumeric(n) || numel(n)~=1
   error('Input argument N should be a scalar.')
end
if ~ischar(mode) || ~any(strcmp(mode,{'','class'}))
   error('Mode string can only be ''class''.')
end

if iscell(c)
   N = size(c);
   if length(N)~=2
      error('Cell array must be 2-dimensional.')
   end
   str = '{';
   for ii=1:N(1)
      if ii>1
         str = [str,';'];
      end
      for jj=1:N(2)
         if jj>1
            str = [str,','];
         end
         e = c{ii,jj};
         if isnumeric(e)
            if ~isempty(mode)
               str = [str,mat2str(e,n,'class')];
            else
               str = [str,mat2str(e,n)];
            end
         elseif ischar(e) || islogical(e)
            str = [str,mat2str(e)];
         else
            error('Illegal value in cell array.')
         end
      end
   end
   str = [str,'}'];
elseif isnumeric(c)
   if ~isempty(mode)
      str = mat2str(c,n,'class');
   else
      str = mat2str(c,n);
   end
elseif ischar(c) || islogical(c)
   str = mat2str(c);
else
   error('Illegal array in input.')
end

Contact us