File Exchange

ANP: Animated Nyquist Plot

version 6.0.1.0 (4.54 MB) by
Create a customizable nyquist plot that displays pole/zero contributions.

Updated 24 Jul 2017

Programmed for educational purposes, this Matlab function draws a Nyquist diagram of any given rational transfer function (including delays) and allows the user to explore it.
As the radius of the D-contour is held relatively small, one can investigate what happens at the origin.
The program also displays the contribution of each pole / zero to the current magnitude and phase.
ANP is capable of handling:
- Vectors with zeros and poles for a SISO system: anp_main([0],[-1,-2,-3+1i,-3-1i])
- SISO rational transfer functions: anp_main(tf(rss(1,1,1)));
- SISO systems with delay: s=tf('s'); anp_main(1/(s+1)*exp(-0.01*s)));
- MIMO systems (computing det(I + L(s)) for a MIMO transfer function L(s)): anp_main(tf(rss(2,2,2)));
Have a look at the file 'anp_usage_examples.m' to see other syntax examples.

Please report any glitches and crashes!

Cite As

Stefan Rickli (2020). ANP: Animated Nyquist Plot (https://github.com/StefanRickli/anp), GitHub. Retrieved .

Junseok Lee

 28 Apr 2017 6.0.1.0 Bugfix: - Incorrect calculation of det(I + L(s)) - Scaling factors, e.g. (-2) in (-2)*(s+1)/(s-1), were not taken into account in results summary, causing a mismatch between plot and results TextBox. 27 Apr 2017 6.0.0.0 New: MIMO support: try anp_main(tf(rss(2,2,2))); ANP will compute show the Nyquist plot of det(I + L(s)) for a MIMO transfer function L(s). Changed: Detours around poles/zeros on the imaginary axis now go to the left (due to MIMO system properties). 22 Apr 2017 5.2.4.0 Fixed some crashes and glitches. See release notes on GitHub for more details. A future major version will change how the detours around poles and zeros on the imaginary axis behave. This is to reflect specialities with MIMO systems. 18 Apr 2017 5.2.3.0 Fixed initialization of variables that are used only in some rare cases. 30 Mar 2017 5.2.2.0 Bugfix (wrong handling of nonconjugate complex poles/zeros), code cleanup, speedups, more code documentation. See release notes on GitHub for more details.
MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: GUI for Understanding Nyquist Plots

Inspired: Plot Nyquist Didatic