Mercurial > repos > public > sbplib
annotate toString.m @ 534:55a7777dfcd0 feature/boundaryGroup
Implement boundary_condition for boundary groups
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 03 Aug 2017 18:07:27 +0200 |
parents | e1a59aafe99c |
children |
rev | line source |
---|---|
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Takes a value and returns a string representation of that value. |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 % If syntaxFlag is true, a string with valid matlab syntax is returned. |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 function str = toString(value, syntaxFlag) |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 default_arg('syntaxFlag',false); |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 if syntaxFlag |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 error('Not supported yet.') |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 str = value2string(value); |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 function str = value2string(value) |
44
92247f4bad2f
Added toString function.
Jonatan Werpers <jonatan@werpers.com>
parents:
40
diff
changeset
|
14 if isnumeric(value) || ischar(value) || islogical(value) |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 str = mat2str(value); |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 elseif isstruct(value) |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 str = struct2string(value); |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
18 elseif iscell(value) |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
19 str = cell2string(value); |
123 | 20 elseif isa(value,'function_handle') |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 str = func2str(value); |
128
f7629720f1b7
toString: added support for symbolic expressions
Jonatan Werpers <jonatan@werpers.com>
parents:
123
diff
changeset
|
22 elseif isa(value,'sym') |
f7629720f1b7
toString: added support for symbolic expressions
Jonatan Werpers <jonatan@werpers.com>
parents:
123
diff
changeset
|
23 str = char(value); |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
24 else |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 warning('No string representation for class ''%s''', class(value)) |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 str = 'NO_STR_REP'; |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
27 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 function str = cell2string(c) |
146
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
31 if isempty(c) |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 str = '{}'; |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 return |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 |
146
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
36 [n, m] = size(c); |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
37 |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
38 str = '{'; |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
39 |
146
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
40 for i = 1:n-1 |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
41 for j = 1:m-1 |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
42 str = [str sprintf('%s, ', value2string(c{i,j}))]; |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
43 end |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
44 str = [str sprintf('%s; ', value2string(c{i,end}))]; |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 end |
146
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
46 |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
47 for j = 1:m-1 |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
48 str = [str sprintf('%s, ', value2string(c{end,j}))]; |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
49 end |
2ccfe80e9b58
toString: Now allows 2d cell arrays of strings.
Jonatan Werpers <jonatan@werpers.com>
parents:
128
diff
changeset
|
50 str = [str sprintf('%s}', value2string(c{end,end}))]; |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
53 function str = struct2string(s) |
466
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
54 if isscalar(s) |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
55 str = structScalar2string(s); |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
56 else |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
57 str = structArray2string(s); |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
58 end |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
59 end |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
60 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
61 function str = structScalar2string(s) |
40
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 fn = fieldnames(s); |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
64 if length(fn) == 0 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
65 str = '{}'; |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 return |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
69 str = '{'; |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
70 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
71 for i = 1:length(fn) - 1 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
72 value = s.(fn{i}); |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
73 str = [str sprintf('%s: %s, ',fn{i}, value2string(value))]; |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
74 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
75 value = s.(fn{end}); |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
76 str = [str sprintf('%s: %s}',fn{end}, value2string(value))]; |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
77 end |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
78 |
466
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
79 function str = structArray2string(s) |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
80 fn = fieldnames(s); |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
81 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
82 if length(fn) == 0 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
83 str = '{}'; |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
84 return |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
85 end |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
86 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
87 stringArray = cell(length(s)+1, length(fn)+1); |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
88 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
89 stringArray(1,2:end) = fn; |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
90 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
91 for i = 1:length(s) |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
92 stringArray{i+1,1} = i; |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
93 for j = 1:length(fn) |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
94 valueStr = value2string(s(i).(fn{j})); |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
95 stringArray{i+1,j+1} = valueStr; |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
96 end |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
97 end |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
98 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
99 tt = TextTable(stringArray); |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
100 tt.fmtArray(2:end, 1) = {'%d'}; |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
101 tt.vertDiv = [1]; |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
102 tt.horzDiv = [1]; |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
103 str = tt.toString(); |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
104 end |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
105 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
106 |
e1a59aafe99c
Add structArray to toString()
Jonatan Werpers <jonatan@werpers.com>
parents:
146
diff
changeset
|
107 |