@@ -170,9 +170,9 @@ class StateSpace(LTI):
170
170
171
171
The StateSpace class is used to represent state-space realizations of
172
172
linear time-invariant (LTI) systems:
173
-
173
+
174
174
.. math::
175
-
175
+
176
176
dx/dt &= A x + B u \\
177
177
y &= C x + D u
178
178
@@ -1561,7 +1561,8 @@ def _convert_to_statespace(sys):
1561
1561
return StateSpace (
1562
1562
ssout [1 ][:states , :states ], ssout [2 ][:states , :sys .ninputs ],
1563
1563
ssout [3 ][:sys .noutputs , :states ], ssout [4 ], sys .dt ,
1564
- inputs = sys .input_labels , outputs = sys .output_labels )
1564
+ inputs = sys .input_labels , outputs = sys .output_labels ,
1565
+ name = sys .name )
1565
1566
except ImportError :
1566
1567
# No Slycot. Scipy tf->ss can't handle MIMO, but static
1567
1568
# MIMO is an easy special case we can check for here
@@ -1574,7 +1575,9 @@ def _convert_to_statespace(sys):
1574
1575
for i , j in itertools .product (range (sys .noutputs ),
1575
1576
range (sys .ninputs )):
1576
1577
D [i , j ] = sys .num [i ][j ][0 ] / sys .den [i ][j ][0 ]
1577
- return StateSpace ([], [], [], D , sys .dt )
1578
+ return StateSpace ([], [], [], D , sys .dt ,
1579
+ inputs = sys .input_labels , outputs = sys .output_labels ,
1580
+ name = sys .name )
1578
1581
else :
1579
1582
if sys .ninputs != 1 or sys .noutputs != 1 :
1580
1583
raise TypeError ("No support for MIMO without slycot" )
@@ -1586,7 +1589,7 @@ def _convert_to_statespace(sys):
1586
1589
sp .signal .tf2ss (squeeze (sys .num ), squeeze (sys .den ))
1587
1590
return StateSpace (
1588
1591
A , B , C , D , sys .dt , inputs = sys .input_labels ,
1589
- outputs = sys .output_labels )
1592
+ outputs = sys .output_labels , name = sys . name )
1590
1593
1591
1594
elif isinstance (sys , FrequencyResponseData ):
1592
1595
raise TypeError ("Can't convert FRD to StateSpace system." )
0 commit comments