Please note that the recommended version of Scilab is 2023.1.0. This page might be outdated.
See the recommended documentation of this function
[r [,num] ]=routh_t(p) [r [,num] ]=routh_t(h ,kp) r=routh_t(h ,k [,normalized])
a real polynomial
a real SISO transfer system
a real polynomial or a scalar
a scalar: proportional controller constant
a boolean (%t (default value) or %f)
a matrix or a list: Routh array elements
a scalar: the number of sign changes
r=routh_t(p) computes Routh's table of the
r=routh_t(h,k) computes Routh's table of
denominator of the system described by transfer matrix SISO
h with the feedback by the gain
k=poly(0,'k') we will have a polynomial or
a rational matrix with dummy variable
formal expression of the Routh table.
normalized=%f we will have a polynomial matrix
with non normalized elements. In the other case, we will have a rational
and normalized matrix.
The second output argument
num returns the number of sign changes
in the first column of Routh's table. Note that, this argument value will only have sense
when the table is normalized.
s=%s; P=5*s^3-10*s^2+7*s+20; routh_t(P) // Transfer function with formal feedback, normalized case routh_t((1+s)/P,poly(0,'k')) // Transfer function with formal feedback, non normalized case routh_t((1+s)/P,poly(0,'k'),%f) // One of the coefficients in the polynomial equals zero P1=2*s^3-24*s+32; routh_t(P1) // A row full of zeros P2=s^4-6*s^3+10*s^2-6*s+9; routh_t(P2) // The number of roots in the rhp could be retrieved as the second output argument P3=5*s^3-10*s^2+7*s; [r,num]=routh_t(1/P3,20) if num==0 disp("System is stable") else mprintf("There is %g sign changes in entries of first column.\nTherefore, system is unstable.", num) end //
Comments on the Routh-Hurwitz criterion, Shamash, Y.,Automatic Control, IEEE T.A.C Volume 25, Issue 1, Feb 1980 Page(s): 132 - 133
|5.5.0||New output argument added: num (SEP #104).|
|5.4.0||New input argument added: normalized (SEP #89).|
|Report an issue|
|<< plzr||Stability||sgrid >>|