@@ -1433,7 +1433,8 @@ def _add_siso(num1, den1, num2, den2):
1433
1433
return num , den
1434
1434
1435
1435
1436
- def _convert_to_transfer_function (sys , inputs = 1 , outputs = 1 ):
1436
+ def _convert_to_transfer_function (
1437
+ sys , inputs = 1 , outputs = 1 , use_prefix_suffix = False ):
1437
1438
"""Convert a system to transfer function form (if needed).
1438
1439
1439
1440
If sys is already a transfer function, then it is returned. If sys is a
@@ -1509,7 +1510,10 @@ def _convert_to_transfer_function(sys, inputs=1, outputs=1):
1509
1510
num = squeeze (num ) # Convert to 1D array
1510
1511
den = squeeze (den ) # Probably not needed
1511
1512
1512
- return TransferFunction (num , den , sys .dt )
1513
+ newsys = TransferFunction (num , den , sys .dt )
1514
+ if use_prefix_suffix :
1515
+ newsys ._copy_names (sys , prefix_suffix_name = 'converted' )
1516
+ return newsys
1513
1517
1514
1518
elif isinstance (sys , (int , float , complex , np .number )):
1515
1519
num = [[[sys ] for j in range (inputs )] for i in range (outputs )]
@@ -1809,7 +1813,8 @@ def ss2tf(*args, **kwargs):
1809
1813
if not kwargs .get ('outputs' ):
1810
1814
kwargs ['outputs' ] = sys .output_labels
1811
1815
return TransferFunction (
1812
- _convert_to_transfer_function (sys ), ** kwargs )
1816
+ _convert_to_transfer_function (sys , use_prefix_suffix = True ),
1817
+ ** kwargs )
1813
1818
else :
1814
1819
raise TypeError (
1815
1820
"ss2tf(sys): sys must be a StateSpace object. It is %s."
0 commit comments