annotate toString.m @ 362:ded4156e53e2

Added 2nd order accurate 2nd derivative with variable coefficents in a separate implementation file, used by the class D2Variable.
author Martin Almquist <martin.almquist@it.uu.se>
date Tue, 20 Dec 2016 15:04:02 +0100
parents 2ccfe80e9b58
children e1a59aafe99c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
edccf4ba788b Fixed spelling.
Jonatan Werpers <jonatan@werpers.com>
parents: 44
diff changeset
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