evans

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
xbasc();s=poly(0,'s');n=1+s;
d=real(poly([-1 -2 -%i %i],'s'));
evans(n,d,100);
//
xbasc();n=real(poly([0.1-%i 0.1+%i,-10],'s'));
evans(n,d,80);
 
  

See also

kpure, krac2, locate