- Справка Scilab
- CACSD
- formal_representation
- Plot and display
- plzr
- syslin
- abinv
- arhnk
- arl2
- arma
- arma2p
- arma2ss
- armac
- armax
- armax1
- arsimul
- augment
- balreal
- bilin
- bstap
- cainv
- calfrq
- canon
- ccontrg
- cls2dls
- colinout
- colregul
- cont_mat
- contr
- contrss
- copfac
- csim
- ctr_gram
- damp
- dcf
- ddp
- dhinf
- dhnorm
- dscr
- dsimul
- dt_ility
- dtsi
- equil
- equil1
- feedback
- findABCD
- findAC
- findBD
- findBDK
- findR
- findx0BD
- flts
- fourplan
- freq
- freson
- fspec
- fspecg
- fstabst
- g_margin
- gamitg
- gcare
- gfare
- gfrancis
- gtild
- h2norm
- h_cl
- h_inf
- h_inf_st
- h_norm
- hankelsv
- hinf
- imrep2ss
- inistate
- invsyslin
- kpure
- krac2
- lcf
- leqr
- lft
- lin
- linf
- linfn
- linmeq
- lqe
- lqg
- lqg2stan
- lqg_ltr
- lqr
- ltitr
- macglov
- minreal
- minss
- mucomp
- narsimul
- nehari
- noisegen
- nyquistfrequencybounds
- obs_gram
- obscont
- observer
- obsv_mat
- obsvss
- p_margin
- parrot
- pfss
- phasemag
- pol2des
- ppol
- prbs_a
- projsl
- repfreq
- ric_desc
- ricc
- riccati
- routh_t
- rowinout
- rowregul
- rtitr
- sensi
- sident
- sorder
- specfact
- ssprint
- st_ility
- stabil
- sysfact
- syssize
- time_id
- trzeros
- ui_observer
- unobs
- zeropen
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
routh_t
Routh's table
Calling Sequence
[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
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
Версия | Описание |
5.5.0 | New output argument added: num (SEP #104). |
5.4.0 | New input argument added: normalized (SEP #89). |
Report an issue | ||
<< riccati | CACSD | rowinout >> |