Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский

Please note that the recommended version of Scilab is 6.1.0. This page might be outdated.
See the recommended documentation of this function

# routh_t

Routh's table

### Syntax

```[r [,num] ]=routh_t(p)
[r [,num] ]=routh_t(h ,kp)
r=routh_t(h ,k [,normalized])```

### Arguments

p

a real polynomial

h

a real SISO transfer system

k

a real polynomial or a scalar

kp

a scalar: proportional controller constant

normalized

a boolean (%t (default value) or %f)

r

a matrix or a list: Routh array elements

num

a scalar: the number of sign changes

### Description

`r=routh_t(p)` computes Routh's table of the polynomial `p`.

`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`.

If `k=poly(0,'k')` we will have a polynomial or a rational matrix with dummy variable `k`, formal expression of the Routh table.

If `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.

 Hint: If `h=1/p`, then `routh_t(h, kp)` is equivalent to `routh_t(p+kp)` .

### Examples

```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

//```

### See also

• roots — racines d'un polynôme
• spec — valeurs propres d'une matrice
• evans — Evans root locus
• kpure — continuous SISO system limit feedback gain
• krac2 — continuous SISO system limit feedback gain

### Bibliography

http://controls.engin.umich.edu/wiki/index.php/RouthStability

http://www.jdotec.net/s3i/TD_Info/Routh/Routh.pdf

Comments on the Routh-Hurwitz criterion, Shamash, Y.,Automatic Control, IEEE T.A.C Volume 25, Issue 1, Feb 1980 Page(s): 132 - 133

### History

 Version Description 5.5.0 New output argument added: num (SEP #104). 5.4.0 New input argument added: normalized (SEP #89).

### Comments

Add a comment:
Please login to comment this page.

 Report an issue << plzr Stabilité sgrid >>

 Scilab EnterprisesCopyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Tue Feb 14 15:06:34 CET 2017