diff scripts/strings/mat2str.m @ 5838:376e02b2ce70

[project @ 2006-06-01 20:23:53 by jwe]
author jwe
date Thu, 01 Jun 2006 20:23:54 +0000
parents 55404f3b0da1
children 4b433225128d
line wrap: on
line diff
--- a/scripts/strings/mat2str.m
+++ b/scripts/strings/mat2str.m
@@ -49,62 +49,67 @@
 ## @seealso{sprintf, int2str}
 ## @end deftypefn
 
-function s = mat2str(x,n,cls)
+function s = mat2str (x, n, cls)
 
-  if (nargin < 2 || isempty(n))
-    n = 17;		   # default precision
+  if (nargin < 2 || isempty (n))
+    ## Default precision
+    n = 17;
   endif
 
   if (nargin < 3)
-    if (ischar(n))
+    if (ischar (n))
       cls = n;
       n = 17;
     else
-      cls = '';
+      cls = "";
     endif
   endif
 
-  if (nargin < 1 || nargin > 3 || ischar(x) || isstruct(x) ||
-     ischar(n) || isstruct(n) || isstruct(cls))
-    usage ("mat2str");
+  if (nargin < 1 || nargin > 3 || ! isnumeric (x))
+    print_usage ();
   endif
   
   if (ndims (x) > 2)
-    error ("mat2str: x must be two dimensional");
+    error ("mat2str: X must be two dimensional");
   endif
 
-  if (!(COMPLEX = is_complex(x)))
-    FMT = sprintf("%%.%dg", n(1));
+  x_is_complex = is_complex (x);
+
+  if (! x_is_complex)
+    fmt = sprintf ("%%.%dg", n(1));
   else
-    if (length(n) == 1 )
+    if (length (n) == 1 )
       n = [n, n];
     endif
-    FMT = sprintf("%%.%dg%%+.%dgi", n(1), n(2));
+    fmt = sprintf ("%%.%dg%%+.%dgi", n(1), n(2));
   endif
 
-  [nr, nc] = size(x);
+  nel = numel (x);
 
-  if (nr*nc == 0)         # empty .. only print brackets
+  if (nel == 0)
+    ## Empty, only print brackets
     s = "[]";
-  elseif (nr*nc == 1)	# scalar x .. don't print brackets
-    if (!COMPLEX)
-      s = sprintf( FMT, x );
+  elseif (nel == 1)
+    ## Scalar X, don't print brackets
+    if (! x_is_complex)
+      s = sprintf (fmt, x);
     else
-      s = sprintf( FMT, real(x), imag(x) );
+      s = sprintf (fmt, real (x), imag (x));
     endif
-  else			# non-scalar x .. print brackets
-    FMT = [FMT, ','];
-    if (!COMPLEX)
-      s = sprintf( FMT, x.' );
+  else
+    ## Non-scalar X, print brackets
+    fmt = [fmt, ","];
+    if (! x_is_complex)
+      s = sprintf (fmt, x.');
     else
       x = x.';
-      s = sprintf( FMT, [ real(x(:))'; imag(x(:))' ] );
+      s = sprintf (fmt, [real(x(:))'; imag(x(:))']);
     endif
 
     s = ["[", s];
-    s (length(s)) = "]";
-    IND = find(s == ",");
-    s (IND(nc:nc:length(IND)) ) = ";";
+    s(end) = "]";
+    ind = find (s == ",");
+    s(ind(nc:nc:end)) = ";";
   endif
 
   if (strcmp ("class", cls))