Stability Analysis Software

Distribution site for MATLAB routines for the stability analysis of linear and nonlinear systems (single-input/single-output), for closed-loop systems with a linear plant G(s) in series with a linear gain K or a nonlinearity. The Nyquist Criterion is applicable to the linear case (in a more user-friendly fashion compared with the native MATLAB nyquist command -- e.g., it zooms automatically to show all real-axis crossings and reports stability ranges for K), the Popov Criterion is useful for nonlinear time- invariant operators f(.), and the Circle Criterion may be used in the nonlinear time- varying case f(.,t). Note: These routines were previously updated to work correctly under MATLAB 5.3, MATLAB 6.5 (unix Release 13) and MATLAB 7.4.0.287 (unix Release R2007a) as well as Releases 13 and 14 for Windows; more recently they were tested under matlab_R2015b (mac version) and one syntax change was accommodated (if only matlab maintained backward compatibility!).

Simply download the stability_tools.zip file (172kB) to obtain the entire set of files containing the algorithms (m-files), documentation and demonstrations (also m-files).

To use this distribution, I recommend that you create a new directory/folder in a convenient place (e.g., > mkdir nl_stab in unix), download stability_tools.zip into that location, unpack the files (> unzip stability_tools.zip) and add that directory/folder and the three subdirectories created by unzip, Circle, NewNyq and Popov, to your MATLAB search-path, e.g. (in unix), append the full paths to the new directories onto the setenv MATLABPATH statement in your .cshrc file, like so, for example:

setenv MATLABPATH (stuff_already_there):/home/jtaylor/nl_stab:/home/jtaylor/nl_stab/Circle:(etc.)

I think this is easier under windows . . . ?

Warning: install the entire distribution, as above - Circle, NewNyq and Popov share some routines, so if you only install one or two packages they are likely to fail.

The tutorial manual stab_manual.pdf is part of this distribution. Invoke MATLAB to run the demonstration scripts (run_criteria.m, run_popov.m), . . . enjoy!

I also recommend (request) that you register with me, NOW (jtaylor@unb.ca), so I can inform you of updates and bug-fixes. Also, please let me know about any bugs or defects you might discover (of course, this is highly unlikely . . . ;-).

Finally, the Tutorial Guide for the "newnyq", "popov" and "circle" routines for stability analysis is available separately here, for your information if you want to read the Tutorial before downloading the software.

Return to my Home Page

Information supplied by: James H. Taylor
Updated by: James H. Taylor
Last update: 2016 January 20
Email comments/suggestions to: Jim Taylor (jtaylor@unb.ca)