Skip to content
Discussion options

You must be logged in to vote

This error is occurring because with K = 1/2 the Nyquist curve goes through the -1 point and so the number of encirclements is not well defined. The nyquist_response function (which is what nyquist_plot calls) checks to see if the number of encirclements matches the expected number of "unstable" poles, where an unstable pole is defined in the code as having real part >= 0.

You can use the following code to explore further:

K1 = 0.5
Gc = ct.TransferFunction([K1, -2*K1], [1, 2, 1])
resp1 = ct.nyquist_response(Gc)
print(f"Encirclements = {resp1.count}")  # returns 0, expects 1

K1 = 0.500001
Gc = ct.TransferFunction([K1, -2*K1], [1, 2, 1])
resp2 = ct.nyquist_response(Gc)
print(f"Encirclement…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by oneEclipseUser1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants