Open
Description
Hi - not sure I fully understand how the indentation around an imaginary axis pole is being done for the nyquist plot.
Looking at freqplot.py L 1449:1555 I see:
# Add points for half/quarter circle around pole frequency
# (these will get indented left or right below)
splane_contour = np.concatenate((
splane_contour[0:first_point+1],
(1j * np.linspace(
start_freq, p.imag + indent_radius, indent_points)),
splane_contour[last_point:]))
but this seems to make all the added points imaginary - what I would have expected to see would be a quarter/half circle with
real and imaginary parts -- something like:
if indent_direction == 'right':
direction = 1
else:
direction = -1
angle_start = [0 if start_freq == 0 else -np.pi/2][0]
angle_end = np.pi/2
splane_contour = np.concatenate((
splane_contour[0:first_point+1],
p + direction*indent_radius*np.exp(direction*1j * np.linspace(
angle_start, angle_end, indent_points)),
splane_contour[last_point:]))
with the phase being from -pi/2:pi/2 (unless at origin) with a direction determined by the indent direction
and np.exp(...) creating the small complex valued quarter/half circle centered at pole p (on imag axis)
this change seems to break the encirclement math that follows in the code, so I cannot provide a working example
Metadata
Metadata
Assignees
Labels
No labels