@@ -81,8 +81,9 @@ def test_interconnect_implicit(dim):
81
81
outputs = [f'u[{ i } ]' for i in range (dim )])
82
82
83
83
# same but static C2
84
- C2 = ct .tf (random .uniform (1 , 10 ), 1 ,
85
- inputs = 'e' , outputs = 'u' , name = 'C2' )
84
+ C2 = ct .tf2io (kp * random .uniform (1 , 10 ), name = 'C2' ,
85
+ inputs = [f'e[{ i } ]' for i in range (dim )],
86
+ outputs = [f'u[{ i } ]' for i in range (dim )])
86
87
87
88
# Block diagram computation
88
89
Tss = ct .feedback (P * C , np .eye (dim ))
@@ -113,7 +114,7 @@ def test_interconnect_implicit(dim):
113
114
114
115
# test whether signal names work for static system C2
115
116
Tio_sum2 = ct .interconnect (
116
- [C2 , P , sumblk ], inputs = 'r' , outputs = 'y' )
117
+ [C2 , P , sumblk ], inplist = 'r' , outlist = 'y' )
117
118
118
119
np .testing .assert_almost_equal (Tio_sum2 .A , Tss2 .A )
119
120
np .testing .assert_almost_equal (Tio_sum2 .B , Tss2 .B )
@@ -139,17 +140,6 @@ def test_interconnect_implicit(dim):
139
140
np .testing .assert_almost_equal (Tio_sum .C , Tss .C )
140
141
np .testing .assert_almost_equal (Tio_sum .D , Tss .D )
141
142
142
- # TODO: interconnect a MIMO system using implicit connections
143
- # P = control.ss2io(
144
- # control.rss(2, 2, 2, strictly_proper=True),
145
- # input_prefix='u', output_prefix='y', name='P')
146
- # C = control.ss2io(
147
- # control.rss(2, 2, 2),
148
- # input_prefix='e', output_prefix='u', name='C')
149
- # sumblk = control.summing_junction(
150
- # inputs=['r', '-y'], output='e', dimension=2)
151
- # S = control.interconnect([P, C, sumblk], inplist='r', outlist='y')
152
-
153
143
# Make sure that repeated inplist/outlist names work
154
144
pi_io = ct .interconnect (
155
145
[kp_io , ki_io
382B
], inplist = ['e' ], outlist = ['u' ])
0 commit comments