nyquist

Scilab Function
Last update : 08/06/2005

nyquist - nyquist plot

### Calling Sequence

  `nyquist( sl,[fmin,fmax] [,step] [,comments] )`
  `nyquist( sl, frq [,comments] )`
  `nyquist(frq,db,phi [,comments])`
  `nyquist(frq, repf [,comments])`

### Parameters

- `sl` : `syslin` list (SIMO linear system in continuous or discrete time )
- `fmin,fmax` : real scalars (frequency bounds (in Hz))
- `step` : real (logarithmic discretization step)
- `comments` : string vector (captions).
- `frq` : vector or matrix of frequencies (in Hz) (one row for each output of `sl` ).
- `db,phi` : real matrices of modulus (in Db) and phases (in degree) (one row for each output of `sl` ).
- `repf` : matrix of complex numbers. Frequency response (one row for aech output of `sl` )

### Description

Nyquist plot i.e Imaginary part versus Real part of the frequency response of `sl` .

For continous time systems `sl(2*%i*%pi*w)` is plotted. For discrete time system or discretized systems `sl(exp(2*%i*%pi*w*fd)` is used ( `fd=1` for discrete time systems and `fd=sl('dt')` for discretized systems )

`sl` can be a continuous-time or discrete-time SIMO system (see `syslin` ). In case of multi-output the outputs are plotted with different symbols.

The frequencies are given by the bounds `fmin,fmax` (in Hz) or by a row-vector (or a matrix for multi-output) `frq` .

`step` is the ( logarithmic ) discretization step. (see `calfrq` for the choice of default value).

`comments` is a vector of character strings (captions).

`db,phi` are the matrices of modulus (in Db) and phases (in degrees). (One row for each response).

`repf` is a matrix of complex numbers. One row for each response.

Default values for `fmin` and `fmax` are `1.d-3` , `1.d+3` if `sl` is continuous-time or `1.d-3` , `0.5` if `sl` is discrete-time.

Automatic discretization of frequencies is made by `calfrq` .

### Examples

    clf();
    s=poly(0,'s');
    h=syslin('c',(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01));
    comm='(s^2+2*0.9*10*s+100)/(s^2+2*0.3*10.1*s+102.01)';
    nyquist(h,0.01,100,comm);
    h1=h*syslin('c',(s^2+2*0.1*15.1*s+228.01)/(s^2+2*0.9*15*s+225))
    clf();
    nyquist([h1;h],0.01,100,['h1';'h'])
    clf();nyquist([h1;h])

### See Also

`bode` , `black` , `calfrq` , `freq` , `repfreq` , `phasemag` ,