-
Notifications
You must be signed in to change notification settings - Fork 438
Bode, Nyquist, and root locus plots are crude #49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Regarding making plots interactive, you could use events from Matplotlib to respond to clicks, e.g., using matplotlib.backend_bases.MouseEvent. |
My 2c: don't forget about Nichols. It might be worth separating the frequency response and root-locus into separate issues. For the frequency plots, one could also consider showing low and high frequency asymptotes. One idea I had for this to have the number of sample points be a multiple of the number of poles and zeros, though that is a bit simplistic. Another idea is to relate the density of the sample points to the curvature of the graph (though I don't know how to turn that into an algorithm...) |
one thing we also need are damping-omega grids for root-locus. for root-locus, having the break-in and break-out points in the gain vector already helps, |
Concerning the damping-omega grids as @repagh said, I have written a simple function that draws the grid for Z-domain (zgrid): https://gist.github.com/Sup3rGeo/17d0eb2b0f4d60c1ebd24695ac692b5d Is there any possibility for this to be added to the python-control functions? I have never contributed to open source projects before, but if you tell me if what to do I can perhaps create a pull request for this. |
Created a PR for this (#193) |
Can we have more of what might be improved from what is already present in the library? Thanks to all the improvements you done since the creation of this issue, I can't say if it's closed or not. |
For the Nyquist plot, I would like to see:
This paper (https://doi.org/10.1109/ECC.2014.6862243) shows a way to plot the Nyquist logarithmically. |
There is some nice looking code for JuliaControl that we might take a look at for improving frequency response plots. |
Bode, Nyquist, and root locus plots are all much nicer in Matlab, both because they make smarter choices for things like frequencies to plot, and because their plots are interactive, so you can click on points to get additional information, etc.
I have some ideas for how to improve this (e.g., more sophisticated ways of generating frequencies for Bode/Nyquist plots, with finer resolution near lightly damped poles or zeros; better gains for root locus plots, with finer resolution near break-out and break-in points, etc), and I'm planning to try implementing those.
The text was updated successfully, but these errors were encountered: