GeezerVison is showing github.com — Incorrect nyquist plot · Issue #830 · python-control/python-control
Incorrect nyquist plot #830
Description
I'm using the control package with python 3.10 in Pycharm and Jupiter lab.
I have stumbled upon a possible issue while trying to create a Nyquist plot for a simple system
import control as ct
s = ct.tf('s'))
plant_1 = 1/(s*(s + 5)*(s + 7)))
ct.nyquist_plot(plant_1)
The result I'm getting is this:

While in MATLAB I'm getting different results
clear all;
close all;
clc;
s = tf('s');
plant_1 = 1/(s*(s + 5)*(s + 7));
nyquistplot(plant_1)

Is there a limitation that might be causing this issue or am I missing something?
Activity
bnavigator commented on Dec 31, 2022
henklaak commented on Feb 2, 2023
Behaviour that will 'surprise' many, I guess. The documentation is not explicit about it and the default value of 20.
How about not drawing the large magnitudes at all? Just clip the traces at the limit with a ≫to indicate direction?
murrayrm commented on Feb 2, 2023
If you clip the traces, then it is harder to see the number of net encirclements. Especially if there is more than one. For example
sys = ct.tf([1], [1, 3, 2]) * ct.tf([1], [1, 0, 1])
ct.nyquist_plot(sys)
which generates:

murrayrm commented on Feb 2, 2023
We should definitely make sure all of this is well-documented, though.
henklaak commented on Feb 3, 2023
I'll take a stab at this (the documenting part), expect PR.
Reacted by Ben Greiner and Rene van Paassen
Metadata
Metadata
Development
No branches or pull requestsIssue actions