@@ -79,11 +79,13 @@ class PoleZeroData:
79
79
System name.
80
80
sys : StateSpace or TransferFunction
81
81
System corresponding to the data.
82
+ sort_loci : bool, optional
83
+ Set to False to turn off sorting of loci into unique branches.
82
84
83
85
"""
84
86
def __init__ (
85
87
self , poles , zeros , gains = None , loci = None , dt = None , sysname = None ,
86
- sys = None ):
88
+ sys = None , sort_loci = True ):
87
89
"""Create a pole/zero map object.
88
90
89
91
Parameters
@@ -102,10 +104,14 @@ def __init__(
102
104
System corresponding to the data.
103
105
104
106
"""
107
+ from .rlocus import _RLSortRoots
105
108
self .poles = poles
106
109
self .zeros = zeros
107
110
self .gains = gains
108
- self .loci = loci
111
+ if loci is not None and sort_loci :
112
+ self .loci = _RLSortRoots (loci )
113
+ else :
114
+ self .loci = loci
109
115
self .dt = dt
110
116
self .sysname = sysname
111
117
self .sys = sys
@@ -187,7 +193,7 @@ def pole_zero_plot(
187
193
----------
188
194
data : List of PoleZeroData objects or LTI systems
189
195
List of pole/zero response data objects generated by pzmap_response()
190
- or rootlocus_response () that are to be plotted. If a list of systems
196
+ or root_locus_map () that are to be plotted. If a list of systems
191
197
is given, the poles and zeros of those systems will be plotted.
192
198
grid : bool or str, optional
193
199
If `True` plot omega-damping grid, if `False` show imaginary axis
0 commit comments