|
61 | 61 |
|
62 | 62 | __all__ = ['series', 'parallel', 'negate', 'feedback', 'append', 'connect'] |
63 | 63 |
|
64 | | -def series(sys1, sys2): |
65 | | - """Return the series connection sys2 * sys1 for --> sys1 --> sys2 -->. |
| 64 | +def series(sys1, sys2,*sysn): |
| 65 | + """Return the series connection (... * sys3 *) sys2 * sys1 |
| 66 | + for (... sys3 -->) sys1 --> sys2 -->. |
66 | 67 |
|
67 | 68 | Parameters |
68 | 69 | ---------- |
69 | 70 | sys1: scalar, StateSpace, TransferFunction, or FRD |
70 | 71 | sys2: scalar, StateSpace, TransferFunction, or FRD |
71 | | -
|
| 72 | + sysn: scalar, StateSpace, TransferFunction, or FRD |
| 73 | + |
72 | 74 | Returns |
73 | 75 | ------- |
74 | 76 | out: scalar, StateSpace, or TransferFunction |
@@ -98,20 +100,28 @@ def series(sys1, sys2): |
98 | 100 | Examples |
99 | 101 | -------- |
100 | 102 | >>> sys3 = series(sys1, sys2) # Same as sys3 = sys2 * sys1. |
| 103 | + >>> sys_final = series(sys1, sys2, sys3, sys4) |
101 | 104 |
|
102 | 105 | """ |
103 | | - |
104 | | - return sys2 * sys1 |
105 | | - |
106 | | -def parallel(sys1, sys2): |
| 106 | + |
| 107 | + if len(sysn) == 0: |
| 108 | + return sys2 * sys1 |
| 109 | + else: |
| 110 | + sys_final = sys2 * sys1 |
| 111 | + for sys in sysn: |
| 112 | + sys_final = sys * sys_final |
| 113 | + return sys_final |
| 114 | + |
| 115 | +def parallel(sys1, sys2, *sysn): |
107 | 116 | """ |
108 | | - Return the parallel connection sys1 + sys2. |
| 117 | + Return the parallel connection sys1 + sys2 (+ sys3 +... ). |
109 | 118 |
|
110 | 119 | Parameters |
111 | 120 | ---------- |
112 | 121 | sys1: scalar, StateSpace, TransferFunction, or FRD |
113 | 122 | sys2: scalar, StateSpace, TransferFunction, or FRD |
114 | | -
|
| 123 | + sysn: scalar, StateSpace, TransferFunction, or FRD |
| 124 | + |
115 | 125 | Returns |
116 | 126 | ------- |
117 | 127 | out: scalar, StateSpace, or TransferFunction |
@@ -141,10 +151,16 @@ def parallel(sys1, sys2): |
141 | 151 | Examples |
142 | 152 | -------- |
143 | 153 | >>> sys3 = parallel(sys1, sys2) # Same as sys3 = sys1 + sys2. |
144 | | -
|
| 154 | + >>> sys_final = parallel(sys1, sys2, sys3, sys4) |
| 155 | + |
145 | 156 | """ |
146 | | - |
147 | | - return sys1 + sys2 |
| 157 | + if len(sysn) == 0: |
| 158 | + return sys1 + sys2 |
| 159 | + else: |
| 160 | + sys_final = sys1 + sys2 |
| 161 | + for sys in sysn: |
| 162 | + sys_final = sys_final + sys |
| 163 | + return sys_final |
148 | 164 |
|
149 | 165 | def negate(sys): |
150 | 166 | """ |
|
0 commit comments