Mercurial > hg > map
annotate 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 |
| rev | line source |
|---|---|
| rmeddis@0 | 1 function UTIL_showStructureSummary(structure, name, maxNoArrayValues) |
| rmeddis@0 | 2 % showStructureSummary prints out the values of a single structure |
| rmeddis@0 | 3 % The header is the structure name and each row is a field |
| rmeddis@0 | 4 % e.g. showStructureSummary(params,'params') |
| rmeddis@0 | 5 % This not the same as 'UTIL_showstruct' |
| rmeddis@0 | 6 |
| rmeddis@0 | 7 |
| rmeddis@0 | 8 if nargin<3 |
| rmeddis@0 | 9 maxNoArrayValues=20; |
| rmeddis@0 | 10 end |
| rmeddis@0 | 11 |
| rmeddis@0 | 12 fprintf('\n%s:', name) |
| rmeddis@0 | 13 |
| rmeddis@0 | 14 fields=fieldnames(eval('structure')); |
| rmeddis@0 | 15 % for each field in the structure |
| rmeddis@0 | 16 for i=1:length(fields) |
| rmeddis@0 | 17 y=eval([ 'structure.' fields{i}]); |
| rmeddis@0 | 18 if isstr(y), |
| rmeddis@0 | 19 % strings |
| rmeddis@0 | 20 fprintf('\n%s=\t''%s''', fields{i},y) |
| rmeddis@0 | 21 elseif isnumeric(y) |
| rmeddis@0 | 22 % arrays |
| rmeddis@0 | 23 if length(y)>1 |
| rmeddis@0 | 24 % vectors |
| rmeddis@0 | 25 [r c]=size(y); |
| rmeddis@0 | 26 if r>c, y=y'; end |
| rmeddis@0 | 27 |
| rmeddis@0 | 28 [r c]=size(y); |
| rmeddis@0 | 29 if r>1 |
| rmeddis@0 | 30 % fprintf('\n%s.%s=\t%g x %g matrix',name, fields{i}, r, c) |
| rmeddis@0 | 31 fprintf('\n%s=\t%g x %g matrix',fields{i}, r, c) |
| rmeddis@0 | 32 |
| rmeddis@0 | 33 elseif c<maxNoArrayValues |
| rmeddis@0 | 34 % fprintf('\n%s=\t[%s]', fields{i},num2str(y)) |
| rmeddis@0 | 35 fprintf('\n%s=', fields{i}) |
| rmeddis@0 | 36 fprintf('\t%g',y) |
| rmeddis@0 | 37 |
| rmeddis@0 | 38 else |
| rmeddis@0 | 39 fprintf('\n%s=\t %g... [%g element array]', fields{i}, y(1),c) |
| rmeddis@0 | 40 end |
| rmeddis@0 | 41 else |
| rmeddis@0 | 42 % single valued arrays |
| rmeddis@0 | 43 % fprintf('\n%s.%s=\t%s;', name, fields{i},num2str(y)) |
| rmeddis@0 | 44 fprintf('\n%s=\t%s', fields{i},num2str(y)) |
| rmeddis@0 | 45 end |
| rmeddis@0 | 46 elseif iscell(y) |
| rmeddis@0 | 47 fprintf('\n%s=\t cell array', fields{i}) |
| rmeddis@0 | 48 |
| rmeddis@0 | 49 elseif isstruct(y) |
| rmeddis@0 | 50 fprintf('\n%s=\t structure', fields{i}) |
| rmeddis@0 | 51 end, |
| rmeddis@0 | 52 |
| rmeddis@0 | 53 end, |
| rmeddis@0 | 54 fprintf('\n') |
| rmeddis@0 | 55 |
