Index: /issm/trunk/src/m/classes/continuous_design.m
===================================================================
--- /issm/trunk/src/m/classes/continuous_design.m	(revision 3586)
+++ /issm/trunk/src/m/classes/continuous_design.m	(revision 3587)
@@ -73,5 +73,5 @@
                             cdv(i).descriptor=varargin{1}{i};
                         else
-                            cdv(i).descriptor=[char(varargin{1}) string_dim(cdv,i)];
+                            cdv(i).descriptor=[char(varargin{1}) string_dim(cdv,i,'vector')];
                         end
                     end
Index: /issm/trunk/src/m/classes/continuous_state.m
===================================================================
--- /issm/trunk/src/m/classes/continuous_state.m	(revision 3586)
+++ /issm/trunk/src/m/classes/continuous_state.m	(revision 3587)
@@ -69,5 +69,5 @@
                             csv(i).descriptor=varargin{1}{i};
                         else
-                            csv(i).descriptor=[char(varargin{1}) string_dim(csv,i)];
+                            csv(i).descriptor=[char(varargin{1}) string_dim(csv,i,'vector')];
                         end
                     end
Index: /issm/trunk/src/m/classes/least_squares_term.m
===================================================================
--- /issm/trunk/src/m/classes/least_squares_term.m	(revision 3586)
+++ /issm/trunk/src/m/classes/least_squares_term.m	(revision 3587)
@@ -62,5 +62,5 @@
                                 lst(i).descriptor=varargin{1}{i};
                             else
-                                lst(i).descriptor=[char(varargin{1}) string_dim(lst,i)];
+                                lst(i).descriptor=[char(varargin{1}) string_dim(lst,i,'vector')];
                             end
                         end
Index: /issm/trunk/src/m/classes/nonlinear_equality_constraint.m
===================================================================
--- /issm/trunk/src/m/classes/nonlinear_equality_constraint.m	(revision 3586)
+++ /issm/trunk/src/m/classes/nonlinear_equality_constraint.m	(revision 3587)
@@ -69,5 +69,5 @@
                             nec(i).descriptor=varargin{1}{i};
                         else
-                            nec(i).descriptor=[char(varargin{1}) string_dim(nec,i)];
+                            nec(i).descriptor=[char(varargin{1}) string_dim(nec,i,'vector')];
                         end
                         if (numel(varargin{2}) > 1)
Index: /issm/trunk/src/m/classes/nonlinear_inequality_constraint.m
===================================================================
--- /issm/trunk/src/m/classes/nonlinear_inequality_constraint.m	(revision 3586)
+++ /issm/trunk/src/m/classes/nonlinear_inequality_constraint.m	(revision 3587)
@@ -77,5 +77,5 @@
                             nic(i).descriptor=varargin{1}{i};
                         else
-                            nic(i).descriptor=[char(varargin{1}) string_dim(nic,i)];
+                            nic(i).descriptor=[char(varargin{1}) string_dim(nic,i,'vector')];
                         end
                         if (numel(varargin{2}) > 1)
Index: /issm/trunk/src/m/classes/normal_uncertain.m
===================================================================
--- /issm/trunk/src/m/classes/normal_uncertain.m	(revision 3586)
+++ /issm/trunk/src/m/classes/normal_uncertain.m	(revision 3587)
@@ -77,5 +77,5 @@
                             nuv(i).descriptor=varargin{1}{i};
                         else
-                            nuv(i).descriptor=[char(varargin{1}) string_dim(nuv,i)];
+                            nuv(i).descriptor=[char(varargin{1}) string_dim(nuv,i,'vector')];
                         end
                         if (numel(varargin{2}) > 1)
Index: /issm/trunk/src/m/classes/objective_function.m
===================================================================
--- /issm/trunk/src/m/classes/objective_function.m	(revision 3586)
+++ /issm/trunk/src/m/classes/objective_function.m	(revision 3587)
@@ -62,5 +62,5 @@
                                 of(i).descriptor=varargin{1}{i};
                             else
-                                of(i).descriptor=[char(varargin{1}) string_dim(of,i)];
+                                of(i).descriptor=[char(varargin{1}) string_dim(of,i,'vector')];
                             end
                         end
Index: /issm/trunk/src/m/classes/response_function.m
===================================================================
--- /issm/trunk/src/m/classes/response_function.m	(revision 3586)
+++ /issm/trunk/src/m/classes/response_function.m	(revision 3587)
@@ -64,5 +64,5 @@
                                 rf(i).descriptor=varargin{1}{i};
                             else
-                                rf(i).descriptor=[char(varargin{1}) string_dim(rf,i)];
+                                rf(i).descriptor=[char(varargin{1}) string_dim(rf,i,'vector')];
                             end
                         end
Index: /issm/trunk/src/m/classes/uniform_uncertain.m
===================================================================
--- /issm/trunk/src/m/classes/uniform_uncertain.m	(revision 3586)
+++ /issm/trunk/src/m/classes/uniform_uncertain.m	(revision 3587)
@@ -72,5 +72,5 @@
                             uuv(i).descriptor=varargin{1}{i};
                         else
-                            uuv(i).descriptor=[char(varargin{1}) string_dim(uuv,i)];
+                            uuv(i).descriptor=[char(varargin{1}) string_dim(uuv,i,'vector')];
                         end
                         if (numel(varargin{2}) > 1)
Index: /issm/trunk/src/m/utils/Array/string_dim.m
===================================================================
--- /issm/trunk/src/m/utils/Array/string_dim.m	(revision 3586)
+++ /issm/trunk/src/m/utils/Array/string_dim.m	(revision 3587)
@@ -2,7 +2,7 @@
 %  function to return the string dimension of an array element
 %
-%  function [sdim]=string_dim(a,idim)
+%  function [sdim]=string_dim(a,idim,varargin)
 %
-function [sdim]=string_dim(a,idim)
+function [sdim]=string_dim(a,idim,varargin)
 
 if ~nargin
@@ -33,7 +33,11 @@
 %  dimensions, so this won't match Matlab standard output)
 
-if (ndims(a) == 2) && ((size(a,1) == 1) || (size(a,2) == 1))
-    sdim =['(' num2str(idim) ')'];
-    return
+for iarg=1:nargin-2
+    if strcmpi(varargin{iarg},'vector')
+        if (ndims(a) == 2) && ((size(a,1) == 1) || (size(a,2) == 1))
+            sdim =['(' num2str(idim) ')'];
+            return
+        end
+    end
 end
 
