@@ -1433,7 +1433,8 @@ def _add_siso(num1, den1, num2, den2):
14331433 return num , den
14341434
14351435
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 ):
14371438 """Convert a system to transfer function form (if needed).
14381439
14391440 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):
15091510 num = squeeze (num ) # Convert to 1D array
15101511 den = squeeze (den ) # Probably not needed
15111512
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
15131517
15141518 elif isinstance (sys , (int , float , complex , np .number )):
15151519 num = [[[sys ] for j in range (inputs )] for i in range (outputs )]
@@ -1809,7 +1813,8 @@ def ss2tf(*args, **kwargs):
18091813 if not kwargs .get ('outputs' ):
18101814 kwargs ['outputs' ] = sys .output_labels
18111815 return TransferFunction (
1812- _convert_to_transfer_function (sys ), ** kwargs )
1816+ _convert_to_transfer_function (sys , use_prefix_suffix = True ),
1817+ ** kwargs )
18131818 else :
18141819 raise TypeError (
18151820 "ss2tf(sys): sys must be a StateSpace object. It is %s."
0 commit comments