Mercurial > repos > public > sbplib
annotate toString.m @ 379:ca73ee0623e5 feature/beams
Added an implicit central time stepping scheme.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Fri, 09 Dec 2016 16:03:30 +0100 |
parents | 2ccfe80e9b58 |
children | e1a59aafe99c |
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) |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
54 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
|
55 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
56 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
|
57 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
|
58 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
|
59 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
|
60 |
54d3ab296ba0
Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 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
|
62 |
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 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
|
64 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
|
65 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
|
66 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
|
67 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
|
68 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
|
69 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
|
70 |