6969 'combine_tf' , 'split_tf' ]
7070
7171
72- def series (sys1 , * sysn , ** kwargs ):
73- r"""series(sys1, sys2, [ ..., sysn])
72+ def series (* sys , ** kwargs ):
73+ r"""series(sys1, sys2[, ..., sysn])
7474
75- Return the series connection (`sysn` \* ...\ \*) `sys2` \* `sys1`.
75+ Return series connection (`sysn` \* ...\ \*) `sys2` \* `sys1`.
7676
7777 Parameters
7878 ----------
@@ -136,15 +136,15 @@ def series(sys1, *sysn, **kwargs):
136136 (2, 1, 5)
137137
138138 """
139- sys = reduce (lambda x , y : y * x , sysn , sys1 )
139+ sys = reduce (lambda x , y : y * x , sys [ 1 :], sys [ 0 ] )
140140 sys .update_names (** kwargs )
141141 return sys
142142
143143
144- def parallel (sys1 , * sysn , ** kwargs ):
145- r"""parallel(sys1, sys2, [ ..., sysn])
144+ def parallel (* sys , ** kwargs ):
145+ r"""parallel(sys1, sys2[, ..., sysn])
146146
147- Return the parallel connection `sys1` + `sys2` (+ ...\ + `sysn`).
147+ Return parallel connection `sys1` + `sys2` (+ ...\ + `sysn`).
148148
149149 Parameters
150150 ----------
@@ -206,7 +206,7 @@ def parallel(sys1, *sysn, **kwargs):
206206 (3, 4, 7)
207207
208208 """
209- sys = reduce (lambda x , y : x + y , sysn , sys1 )
209+ sys = reduce (lambda x , y : x + y , sys [ 1 :], sys [ 0 ] )
210210 sys .update_names (** kwargs )
211211 return sys
212212
@@ -354,16 +354,16 @@ def feedback(sys1, sys2=1, sign=-1, **kwargs):
354354 return sys
355355
356356def append (* sys , ** kwargs ):
357- """append(sys1, sys2, [ ..., sysn])
357+ """append(sys1, sys2[, ..., sysn])
358358
359- Group LTI state space models by appending their inputs and outputs.
359+ Group LTI state space models by appending inputs and outputs.
360360
361361 Forms an augmented system model, and appends the inputs and
362362 outputs together.
363363
364364 Parameters
365365 ----------
366- sys1, sys2, ..., sysn: scalar, array, or :class:`StateSpace`
366+ sys1, sys2, ..., sysn : scalar, array, or :class:`StateSpace`
367367 I/O systems to combine.
368368
369369 Other Parameters
@@ -382,7 +382,7 @@ def append(*sys, **kwargs):
382382
383383 Returns
384384 -------
385- out: :class:`StateSpace`
385+ out : :class:`StateSpace`
386386 Combined system, with input/output vectors consisting of all
387387 input/output vectors appended.
388388
@@ -439,9 +439,9 @@ def connect(sys, Q, inputv, outputv):
439439 values mean the feedback is negative. A zero value is ignored. Inputs
440440 and outputs are indexed starting at 1 to communicate sign information.
441441 inputv : 1D array
442- list of final external inputs, indexed starting at 1
442+ List of final external inputs, indexed starting at 1.
443443 outputv : 1D array
444- list of final external outputs, indexed starting at 1
444+ List of final external outputs, indexed starting at 1.
445445
446446 Returns
447447 -------
@@ -512,7 +512,7 @@ def connect(sys, Q, inputv, outputv):
512512 return Ytrim * sys * Utrim
513513
514514def combine_tf (tf_array ):
515- """Combine array-like of transfer functions into MIMO transfer function.
515+ """Combine array of transfer functions into MIMO transfer function.
516516
517517 Parameters
518518 ----------
@@ -541,26 +541,20 @@ def combine_tf(tf_array):
541541 --------
542542 Combine two transfer functions
543543
544- >>> s = control.TransferFunction.s
545- >>> control .combine_tf([
544+ >>> s = ct.tf('s')
545+ >>> ct .combine_tf([
546546 ... [1 / (s + 1)],
547547 ... [s / (s + 2)],
548548 ... ])
549- TransferFunction([[array([1])], [array([1, 0])]],
550- [[array([1, 1])], [array([1, 2])]])
549+ TransferFunction([[array([1])], [array([1, 0])]], [[array([1, 1])], [array([1, 2])]])
551550
552551 Combine NumPy arrays with transfer functions
553552
554- >>> control .combine_tf([
553+ >>> ct .combine_tf([
555554 ... [np.eye(2), np.zeros((2, 1))],
556- ... [np.zeros((1, 2)), control.TransferFunction ([1], [1, 0])],
555+ ... [np.zeros((1, 2)), ct.tf ([1], [1, 0])],
557556 ... ])
558- TransferFunction([[array([1.]), array([0.]), array([0.])],
559- [array([0.]), array([1.]), array([0.])],
560- [array([0.]), array([0.]), array([1])]],
561- [[array([1.]), array([1.]), array([1.])],
562- [array([1.]), array([1.]), array([1.])],
563- [array([1.]), array([1.]), array([1, 0])]])
557+ TransferFunction([[array([1.]), array([0.]), array([0.])], [array([0.]), array([1.]), array([0.])], [array([0.]), array([0.]), array([1])]], [[array([1.]), array([1.]), array([1.])], [array([1.]), array([1.]), array([1.])], [array([1.]), array([1.]), array([1, 0])]])
564558 """
565559 # Find common timebase or raise error
566560 dt_list = []
@@ -600,8 +594,8 @@ def combine_tf(tf_array):
600594 f"row { row_index } ."
601595 )
602596 for j_in in range (col .ninputs ):
603- num_row .append (col .num [j_out ][ j_in ])
604- den_row .append (col .den [j_out ][ j_in ])
597+ num_row .append (col .num_array [j_out , j_in ])
598+ den_row .append (col .den_array [j_out , j_in ])
605599 num .append (num_row )
606600 den .append (den_row )
607601 for row_index , row in enumerate (num ):
@@ -619,7 +613,7 @@ def combine_tf(tf_array):
619613 return tf .TransferFunction (num , den , dt = dt )
620614
621615def split_tf (transfer_function ):
622- """Split MIMO transfer function into NumPy array of SISO tranfer functions.
616+ """Split MIMO transfer function into SISO transfer functions.
623617
624618 Parameters
625619 ----------
@@ -635,7 +629,7 @@ def split_tf(transfer_function):
635629 --------
636630 Split a MIMO transfer function
637631
638- >>> G = control.TransferFunction (
632+ >>> G = ct.tf (
639633 ... [
640634 ... [[87.8], [-86.4]],
641635 ... [[108.2], [-109.6]],
@@ -645,7 +639,7 @@ def split_tf(transfer_function):
645639 ... [[1, 1], [1, 1]],
646640 ... ],
647641 ... )
648- >>> control .split_tf(G)
642+ >>> ct .split_tf(G)
649643 array([[TransferFunction(array([87.8]), array([1, 1])),
650644 TransferFunction(array([-86.4]), array([1, 1]))],
651645 [TransferFunction(array([108.2]), array([1, 1])),
@@ -657,8 +651,8 @@ def split_tf(transfer_function):
657651 for i_in in range (transfer_function .ninputs ):
658652 row .append (
659653 tf .TransferFunction (
660- transfer_function .num [i_out ][ i_in ],
661- transfer_function .den [i_out ][ i_in ],
654+ transfer_function .num_array [i_out , i_in ],
655+ transfer_function .den_array [i_out , i_in ],
662656 dt = transfer_function .dt ,
663657 )
664658 )
0 commit comments