Scilab Function

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

    xbasc();
    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))
    xbasc();
    nyquist([h1;h],0.01,100,['h1';'h'])
    xbasc();nyquist([h1;h])

### See Also

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