Mercurial > repos > public > sbplib
annotate toString.m @ 1031:2ef20d00b386 feature/advectionRV
For easier comparison, return both the first order and residual viscosity when evaluating the residual. Add the first order and residual viscosity to the state of the RungekuttaRV time steppers
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Thu, 17 Jan 2019 10:25:06 +0100 |
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 |