Skip to content

Commit 5e47d1f

Browse files
committed
add origin to rlocus plot and x=0 line (zeta =0 grid line).
1 parent 1b20bd4 commit 5e47d1f

File tree

1 file changed

+3
-7
lines changed

1 file changed

+3
-7
lines changed

control/rlocus.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ def _default_gains(num, den, xlim, ylim):
160160
mymat_xl = mymat
161161
singular_points = np.concatenate((num.roots, den.roots), axis=0)
162162
important_points = np.concatenate((singular_points, real_break), axis=0)
163+
important_points = np.concatenate((singular_points, np.zeros(2)), axis=0)
163164
mymat_xl = np.append(mymat_xl, important_points)
164165

165166
if xlim is None:
@@ -323,20 +324,14 @@ def sgrid_func(fig):
323324
ylocator = ax.get_yaxis().get_major_locator()
324325
xlocator = ax.get_yaxis().get_major_locator()
325326

326-
long_xaxis = xlocator()[-1] - xlocator()[0]
327-
long_yaxis = ylocator()[-1] - ylocator()[0]
328-
329327
angules = np.arange(-90, 80, 15)*np.pi/180
330328

331-
# radial lines
329+
# zeta-constant lines
332330
y_over_x = np.tan(angules[1::])*ylocator()[-1]/xlocator()[-1]
333-
334331
ylim = ax.get_ylim()
335332
ytext_pos_lim = ylim[1]-(ylim[1]-ylim[0])*0.03
336-
337333
xlim = ax.get_xlim()
338334
xtext_pos_lim = xlim[0]+(xlim[1]-xlim[0])*0.0
339-
340335
index = 0
341336
zeta = np.sin(np.pi/2-angules[1::])
342337

@@ -363,6 +358,7 @@ def sgrid_func(fig):
363358
xtext_pos = -xtext_pos
364359
ax.annotate(an, textcoords='data', xy=[xtext_pos, ytext_pos], fontsize=8)
365360
index += 1
361+
ax.plot([0, 0], [ylim[0], ylim[1]], color='gray', linestyle='dashed', linewidth=0.5)
366362

367363
angules = np.linspace(-90, 90, 20)*np.pi/180
368364
for xt in xlocator():

0 commit comments

Comments
 (0)