evans

Scilab Function
Last update : 08/06/2005

evans - Evans root locus

### Calling Sequence

  `evans(H [,kmax])`

### Parameters

- `H` : list (linear system `syslin` )
- `kmax` : real (maximum gain desired for the plot )

### Description

Gives the Evans root locus for a linear system in state-space or transfer form H(s) (`syslin` list). This is the locus of the roots of `1+k*H(s)=1+k*N(s)/D(s)` , in the complex plane. For a selected sample of gains `k <= kmax` , the imaginary part of the roots of `D(s)+k*N(s)` is plotted vs the real part.

To obtain the gain at a given point of the locus you can simply execute the following instruction : `k=-1/real(horner(h,[1,%i]*locate(1)))` and click the desired point on the root locus. If the coordinates of the selected point are in the real 2 x 1 vector `P=locate(1)` this `k` solves the equation `k*N(w) + D(w) =0` with `w=P(1)+%i*P(2)=[1,%i]*P` .

### Examples

    H=syslin('c',352*poly(-5,'s')/poly([0,0,2000,200,25,1],'s','c'));
    evans(H,100)
    P=3.0548543 - 8.8491842*%i;    //P=selected point
    k=-1/real(horner(H,P));
    Ns=H('num');Ds=H('den');
    roots(Ds+k*Ns)     //contains P as particular root
    // Another one
    clf();s=poly(0,'s');n=1+s;
    d=real(poly([-1 -2 -%i %i],'s'));
    evans(n,d,100);
    //
    clf();n=real(poly([0.1-%i 0.1+%i,-10],'s'));
    evans(n,d,80);

### See Also

`kpure` , `krac2` , `locate` ,