10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
10
11
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
47
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
|
# Copyright (c) P.J.Gawthrop 1997
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.1 1998/01/22 13:17:37 peterg
## Initial revision
##
###############################################################
Nu=`mtt_getsize $1 u`
Ny=`mtt_getsize $1 y`
if [ "$Nu" = "1" ]; then
if [ "$Ny" = "1" ]; then
blurb=' for this siso system'
else
blurb=" using first output of $Ny"
fi
else
if [ "$Ny" = "1" ]; then
blurb=" using first input of $Nu"
else
blurb=" using first input of $Nu and using first output of $Ny"
fi
fi
# Inform user
echo Creating $1_smc.r -- NOTE this is for SISO systems only.
echo Creating $1_smc.r $blurb
# Remove the old log file
rm -f sm2smc_r.log
# Use reduce to accomplish the transformation
reduce >sm2smc_r.log << EOF
|
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
-
+
-
+
-
-
+
+
|
MTT_Matrix_n := MTTNx$
MTT_Matrix_m := MTTNx$
Reduce_Matrix()$
MTT_Matrix := MTTB_c$
MTT_Matrix_name := "MTTB_c"$
MTT_Matrix_n := MTTNx$
MTT_Matrix_m := MTTNu$
MTT_Matrix_m := 1$
Reduce_Matrix()$
MTT_Matrix := MTTC_c$
MTT_Matrix_name := "MTTC_c"$
MTT_Matrix_n := MTTNy$
MTT_Matrix_n := 1$
MTT_Matrix_m := MTTNx$
Reduce_Matrix()$
MTT_Matrix := MTTD_c$
MTT_Matrix_name := "MTTD_c"$
MTT_Matrix_n := MTTNy$
MTT_Matrix_m := MTTNu$
MTT_Matrix_n := 1$
MTT_Matrix_m := 1$
Reduce_Matrix()$
write "% - Controllability matrix";
MTT_Matrix := MTTCon$
MTT_Matrix_name := "MTTCon"$
MTT_Matrix_n := MTTNx$
|