Mercurial > hg > map
diff utilities/UTIL_showStructureSummary.m @ 0:f233164f4c86
first commit
author | Ray Meddis <rmeddis@essex.ac.uk> |
---|---|
date | Fri, 27 May 2011 13:19:21 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/utilities/UTIL_showStructureSummary.m Fri May 27 13:19:21 2011 +0100 @@ -0,0 +1,55 @@ +function UTIL_showStructureSummary(structure, name, maxNoArrayValues) +% showStructureSummary prints out the values of a single structure +% The header is the structure name and each row is a field +% e.g. showStructureSummary(params,'params') +% This not the same as 'UTIL_showstruct' + + +if nargin<3 + maxNoArrayValues=20; +end + +fprintf('\n%s:', name) + +fields=fieldnames(eval('structure')); +% for each field in the structure +for i=1:length(fields) + y=eval([ 'structure.' fields{i}]); + if isstr(y), + % strings + fprintf('\n%s=\t''%s''', fields{i},y) + elseif isnumeric(y) + % arrays + if length(y)>1 + % vectors + [r c]=size(y); + if r>c, y=y'; end + + [r c]=size(y); + if r>1 + % fprintf('\n%s.%s=\t%g x %g matrix',name, fields{i}, r, c) + fprintf('\n%s=\t%g x %g matrix',fields{i}, r, c) + + elseif c<maxNoArrayValues + % fprintf('\n%s=\t[%s]', fields{i},num2str(y)) + fprintf('\n%s=', fields{i}) + fprintf('\t%g',y) + + else + fprintf('\n%s=\t %g... [%g element array]', fields{i}, y(1),c) + end + else + % single valued arrays + % fprintf('\n%s.%s=\t%s;', name, fields{i},num2str(y)) + fprintf('\n%s=\t%s', fields{i},num2str(y)) + end + elseif iscell(y) + fprintf('\n%s=\t cell array', fields{i}) + + elseif isstruct(y) + fprintf('\n%s=\t structure', fields{i}) + end, + +end, +fprintf('\n') +