<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MAN SYSTEM "../../manrev.dtd">
<MAN>
  <LANGUAGE>eng</LANGUAGE>

  <TITLE>nyquist</TITLE>

  <TYPE>Scilab Function</TYPE>

  <DATE>April 1993</DATE>

  <SHORT_DESCRIPTION name="nyquist">nyquist plot</SHORT_DESCRIPTION>

  <CALLING_SEQUENCE>
    <CALLING_SEQUENCE_ITEM>nyquist( sl,[fmin,fmax] [,step] [,comments]
    )</CALLING_SEQUENCE_ITEM>

    <CALLING_SEQUENCE_ITEM>nyquist( sl, frq [,comments]
    )</CALLING_SEQUENCE_ITEM>

    <CALLING_SEQUENCE_ITEM>nyquist(frq,db,phi
    [,comments])</CALLING_SEQUENCE_ITEM>

    <CALLING_SEQUENCE_ITEM>nyquist(frq, repf
    [,comments])</CALLING_SEQUENCE_ITEM>
  </CALLING_SEQUENCE>

  <PARAM>
    <PARAM_INDENT>
      <PARAM_ITEM>
        <PARAM_NAME>sl</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: <VERB>syslin</VERB> list (SIMO linear system in continuous or
          discrete time )</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>fmin,fmax</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: real scalars (frequency bounds (in Hz))</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>step</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: real (logarithmic discretization step)</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>comments</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: string vector (captions).</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>frq</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: vector or matrix of frequencies (in Hz) (one row for each
          output of <VERB>sl</VERB>).</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>db,phi</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: real matrices of modulus (in Db) and phases (in degree) (one
          row for each output of <VERB>sl</VERB>).</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>

      <PARAM_ITEM>
        <PARAM_NAME>repf</PARAM_NAME>

        <PARAM_DESCRIPTION>
          <SP>: matrix of complex numbers. Frequency response (one row for
          aech output of <VERB>sl</VERB>)</SP>
        </PARAM_DESCRIPTION>
      </PARAM_ITEM>
    </PARAM_INDENT>
  </PARAM>

  <DESCRIPTION>
    <P>Nyquist plot i.e Imaginary part versus Real part of the frequency
    response of <VERB>sl</VERB>.</P>

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

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

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

    <P><VERB>step</VERB> is the ( logarithmic ) discretization step. (see
    <VERB>calfrq</VERB> for the choice of default value).</P>

    <P><VERB>comments</VERB> is a vector of character strings (captions).</P>

    <P><VERB>db,phi</VERB> are the matrices of modulus (in Db) and phases (in
    degrees). (One row for each response).</P>

    <P><VERB>repf</VERB> is a matrix of complex numbers. One row for each
    response.</P>

    <P>Default values for <VERB>fmin</VERB> and <VERB>fmax</VERB> are
    <VERB>1.d-3</VERB>, <VERB>1.d+3</VERB> if <VERB>sl</VERB> is
    continuous-time or <VERB>1.d-3</VERB>, <VERB>0.5</VERB> if <VERB>sl</VERB>
    is discrete-time.</P>

    <P>Automatic discretization of frequencies is made by
    <VERB>calfrq</VERB>.</P>
  </DESCRIPTION>

  <EXAMPLE><![CDATA[

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])
 
  ]]></EXAMPLE>

  <SEE_ALSO>
    <SEE_ALSO_ITEM>
      <LINK>bode</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>black</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>calfrq</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>freq</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>repfreq</LINK>
    </SEE_ALSO_ITEM>

    <SEE_ALSO_ITEM>
      <LINK>phasemag</LINK>
    </SEE_ALSO_ITEM>
  </SEE_ALSO>
</MAN>