Home > freetb4matlab > control > nyquist.m

nyquist

PURPOSE ^

% Produce Nyquist plots of a system; if no output arguments are given, Nyquist

SYNOPSIS ^

function [realp, imagp, w] = nyquist (sys, w, outputs, inputs, atol)

DESCRIPTION ^

% -*- texinfo -*-
% @deftypefn {Function File} {[@var{realp}, @var{imagp}, @var{w}] =} nyquist (@var{sys}, @var{w}, @var{out_idx}, @var{in_idx}, @var{atol})
% @deftypefnx {Function File} {} nyquist (@var{sys}, @var{w}, @var{out_idx}, @var{in_idx}, @var{atol})
% Produce Nyquist plots of a system; if no output arguments are given, Nyquist
% plot is printed to the screen.
%
% Compute the frequency response of a system.
%
% @strong{Inputs} (pass as empty to get default values)
% @table @var
% @item sys
% system data structure (must be either purely continuous or discrete;
% see @code{is_digital})
% @item w
% frequency values for evaluation.
% If sys is continuous, then bode evaluates @math{G(@var{jw})}; 
% if sys is discrete, then bode evaluates @math{G(exp(@var{jwT}))},
% where @var{T} is the system sampling time.
% @item default
% the default frequency range is selected as follows: (These
% steps are @strong{not} performed if @var{w} is specified)
% @enumerate
% @item via routine @command{__bodquist__}, isolate all poles and zeros away from
% @var{w}=0 (@var{jw}=0 or @math{exp(@var{jwT})=1}) and select the frequency
% range based on the breakpoint locations of the frequencies.
% @item if @var{sys} is discrete time, the frequency range is limited
% to @var{jwT} in
% @ifinfo
% [0,2p*pi]
% @end ifinfo
% @iftex
% @tex
% $ [ 0,2  p \pi ] $
% @end tex
% @end iftex
% @item A ``smoothing'' routine is used to ensure that the plot phase does
% not change excessively from point to point and that singular
% points (e.g., crossovers from +/- 180) are accurately shown.
% @end enumerate
% @item   atol
% for interactive nyquist plots: atol is a change-in-slope tolerance
% for the of asymptotes (default = 0; 1e-2 is a good choice).  This allows
% the user to ``zoom in'' on portions of the Nyquist plot too small to be
% seen with large asymptotes.
% @end table
% @strong{Outputs}
% @table @var
% @item    realp
% @itemx   imagp
% the real and imaginary parts of the frequency response
% @math{G(jw)} or @math{G(exp(jwT))} at the selected frequency values.
% @item w
% the vector of frequency values used
% @end table
%
% If no output arguments are given, nyquist plots the results to the screen.
% If @var{atol} ~= 0 and asymptotes are detected then the user is asked
% interactively if they wish to zoom in (remove asymptotes)
% Descriptive labels are automatically placed.
%
% Note: if the requested plot is for an @acronym{MIMO} system, a warning message is
% presented; the returned information is of the magnitude
% @iftex
% @tex
% $ \Vert G(jw) \Vert $ or $ \Vert G( {\rm exp}(jwT) \Vert $
% @end tex
% @end iftex
% @ifinfo
% |G(jw)| or |G(exp(jwT))|
% @end ifinfo
% only; phase information is not computed.
% @end deftypefn

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Fri 22-May-2009 15:13:00 by m2html © 2003