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(,[-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!
Stefan Rickli (2020). ANP: Animated Nyquist Plot (https://github.com/StefanRickli/anp), GitHub. Retrieved .
New: MIMO support: try anp_main(tf(rss(2,2,2)));
Fixed some crashes and glitches.
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.
Fixed initialization of variables that are used only in some rare cases.
Bugfix (wrong handling of nonconjugate complex poles/zeros), code cleanup, speedups, more code documentation.