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
|