12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% Version control history
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% $Id$
% %% $Log$
% %% Revision 1.1 1996/09/10 11:11:11 peter
% %% Initial revision
% %%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Find the number of inports
nports = length(inports);
% Set up LHS
LHS = varname(name, outbond, outcause);
% Set up various strings to get correct syntax if some strings are empty
if length(cr)==0
cause_name = '';
|
>
>
>
|
>
>
>
>
>
>
>
>
>
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% Version control history
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %% $Id$
% %% $Log$
% %% Revision 1.2 1996/09/10 11:29:47 peter
% %% Removed causality & port info when no constitutive relationship.
% %%
% %% Revision 1.1 1996/09/10 11:11:11 peter
% %% Initial revision
% %%
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Find the number of inports
nports = length(inbonds);
% Check some arguments
if length(incauses) ~= nports
error('equation.m: incauses inconsistent with inbonds');
end;
if length(inports) ~= nports
error('equation.m: inports inconsistent with inbonds');
end;
% Set up LHS
LHS = varname(name, outbond, outcause);
% Set up various strings to get correct syntax if some strings are empty
if length(cr)==0
cause_name = '';
|
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
RHS1 = sprintf('%s%s%s%s%s%s%s%s\n', ...
cr, lp, args, a_comma, cause_name, c_comma, port_name, c_comma);
% Set up rest of RHS - the input variables, causality and ports.
RHS2 = '';
for i=1:nports
RHS2 = sprintf('%s\t%s', ...
RHS2, varname(name, inbonds(i), incauses(i)))
if length(cr)>0 % add the causality & port info
RHS2 = sprintf('%s,%1.0f', ...
RHS2, cause2name(incauses(i)), inports(i));
end;
if i<nports % Add a comma
RHS2 = sprintf('%s,\n',RHS2);
else
RHS2 = sprintf('%s\n',RHS2);
end;
end;
% Set up equation
eqn = sprintf('%s := %s%s\t%s;\n', LHS, RHS1, RHS2, rp);
|
>
|
|
|
|
|
|
|
|
|
|
>
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
RHS1 = sprintf('%s%s%s%s%s%s%s%s\n', ...
cr, lp, args, a_comma, cause_name, c_comma, port_name, c_comma);
% Set up rest of RHS - the input variables, causality and ports.
RHS2 = '';
for i=1:nports
if (length(cr)>0) | (i == outport) % only do diag terms if no cr
RHS2 = sprintf('%s\t%s', ...
RHS2, varname(name, inbonds(i), incauses(i)))
if length(cr)>0 % add the causality & port info
RHS2 = sprintf('%s,%s,%1.0f', ...
RHS2, cause2name(incauses(i)), inports(i));
end;
if i<nports % Add a comma
RHS2 = sprintf('%s,\n',RHS2);
else
RHS2 = sprintf('%s\n',RHS2);
end;
end;
end;
% Set up equation
eqn = sprintf('%s := %s%s\t%s;\n', LHS, RHS1, RHS2, rp);
|