19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
## Structure matrix [states,nonstates,inputs,outputs,zero_outputs]
## ###############################################################
## ## Version control history
## ###############################################################
## ## $Id$
## ## $Log$
## ## Revision 1.51 2003/05/16 11:16:28 gawthrop
## ## Fixed bug with multiports
## ##
## ## Revision 1.50 2003/05/08 18:47:50 gawthrop
## ## Fixed __ bug when using * representations
## ##
## ## Revision 1.49 2003/03/13 15:19:04 gawthrop
|
>
>
>
|
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
## Structure matrix [states,nonstates,inputs,outputs,zero_outputs]
## ###############################################################
## ## Version control history
## ###############################################################
## ## $Id$
## ## $Log$
## ## Revision 1.52 2004/09/12 22:27:27 geraint
## ## Appended 't' to fopen mode string to open in text mode.
## ##
## ## Revision 1.51 2003/05/16 11:16:28 gawthrop
## ## Fixed bug with multiports
## ##
## ## Revision 1.50 2003/05/08 18:47:50 gawthrop
## ## Fixed __ bug when using * representations
## ##
## ## Revision 1.49 2003/03/13 15:19:04 gawthrop
|
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
## disp("cbg2ese");
## system_name, system_type, full_name, repetition
pc = "%";
sub_delim = "__"; # Subsystem delimiter
unit_error = "Component %s connects inconsistent ports with units %s and %s"
unit_info = "Component %s connects ports with units %s and %s"
## Set up the names corresponding to the structure matrix.
structure_name = [
"state ",
"nonstate ",
"input ",
"output ",
|
|
|
|
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
|
## disp("cbg2ese");
## system_name, system_type, full_name, repetition
pc = "%";
sub_delim = "__"; # Subsystem delimiter
unit_error = "Component %s connects inconsistent ports with units %s and %s";
unit_info = "Component %s connects ports with units %s and %s";
## Set up the names corresponding to the structure matrix.
structure_name = [
"state ",
"nonstate ",
"input ",
"output ",
|
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
|
structure_change = structure_change>zeros(size(structure_change));
if structure_changes>0
which_indices = getindex(structure_change,1);
which_indices = which_indices(:,2)';
for which_index=which_indices
value = structure(which_index);
value_change=value-old_structure(which_index);
for k=1:value_change
fprintf(structure_file, ...
"%s\t%i\t%s\t%s%s%s\t%i\t%s\n", ...
structure_name(which_index,:), value-k+1, ...
comp_name, full_name_repetition, sub_delim, comp_name, \
repetition, cause2name(-comp_bonds(k,1)));
endfor;
endfor;
endif;
endif
endfor
fflush (structure_file);
## component interface definition
|
|
>
>
>
>
>
|
|
|
|
|
|
|
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
|
structure_change = structure_change>zeros(size(structure_change));
if structure_changes>0
which_indices = getindex(structure_change,1);
which_indices = which_indices(:,2)';
for which_index=which_indices
value = structure(which_index);
value_change=value-old_structure(which_index);
for k=1:value_change
if strcmp(subsystem.type,"SS") # One port, may be bicausal
cause_name = cause2name(-comp_bonds(1,k));
else # Maybe multiport - but unicausal
cause_name = cause2name(-comp_bonds(k,1));
endif
fprintf(structure_file, ...
"%s\t%i\t%s\t%s%s%s\t%i\t%s\n", ...
structure_name(which_index,:), value-k+1, ...
comp_name, full_name_repetition, sub_delim, comp_name, \
repetition, cause_name);
endfor;
endfor;
endif;
endif
endfor
fflush (structure_file);
## component interface definition
|