- Manuel Scilab
- CACSD
- chart
- abcd
- abinv
- arhnk
- arl2
- arma
- arma2p
- armac
- armax
- armax1
- arsimul
- augment
- balreal
- bilin
- black
- bode
- bstap
- cainv
- calfrq
- canon
- ccontrg
- cls2dls
- colinout
- colregul
- cont_frm
- cont_mat
- contr
- contrss
- copfac
- csim
- ctr_gram
- dbphi
- dcf
- ddp
- des2ss
- des2tf
- dhinf
- dhnorm
- dscr
- dsimul
- dt_ility
- dtsi
- equil
- equil1
- evans
- feedback
- findABCD
- findAC
- findBD
- findBDK
- findR
- findx0BD
- flts
- fourplan
- frep2tf
- freq
- freson
- fspecg
- fstabst
- g_margin
- gainplot
- gamitg
- gcare
- gfare
- gfrancis
- gtild
- h2norm
- h_cl
- h_inf
- h_inf_st
- h_norm
- hallchart
- hankelsv
- hinf
- imrep2ss
- inistate
- invsyslin
- kpure
- krac2
- lcf
- leqr
- lft
- lin
- linf
- linfn
- linmeq
- lqe
- lqg
- lqg2stan
- lqg_ltr
- lqr
- ltitr
- m_circle
- macglov
- markp2ss
- minreal
- minss
- mucomp
- narsimul
- nehari
- nicholschart
- noisegen
- nyquist
- obs_gram
- obscont
- observer
- obsv_mat
- obsvss
- p_margin
- parrot
- pfss
- phasemag
- ppol
- prbs_a
- projsl
- reglin
- repfreq
- ric_desc
- ricc
- riccati
- routh_t
- rowinout
- rowregul
- rtitr
- sensi
- sgrid
- show_margins
- sident
- sm2des
- sm2ss
- sorder
- specfact
- ss2des
- ss2ss
- ss2tf
- st_ility
- stabil
- svplot
- sysfact
- syssize
- tf2des
- tf2ss
- time_id
- trzeros
- ui_observer
- unobs
- zeropen
- zgrid
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
trzeros
transmission zeros and normal rank
Calling Sequence
[tr]=trzeros(Sl) [nt,dt,rk]=trzeros(Sl)
Arguments
- Sl
linear system (
syslin
list)- nt
complex vectors
- dt
real vector
- rk
integer (normal rank of Sl)
Description
Called with one output argument, trzeros(Sl)
returns the
transmission zeros of the linear system Sl
.
Sl
may have a polynomial (but square) D
matrix.
Called with 2 output arguments, trzeros
returns the
transmission zeros of the linear system Sl
as tr=nt./dt
;
(Note that some components of dt
may be zeros)
Called with 3 output arguments, rk
is the normal rank of Sl
Transfer matrices are converted to state-space.
If Sl
is a (square) polynomial matrix trzeros
returns the
roots of its determinant.
For usual state-space system trzeros
uses the state-space
algorithm of Emami-Naeni and Van Dooren.
If D
is invertible the transmission zeros are the eigenvalues
of the "A
matrix" of the inverse system : A - B*inv(D)*C
;
If C*B
is invertible the transmission zeros are the eigenvalues
of N*A*M
where M*N
is a full rank factorization of
eye(A)-B*inv(C*B)*C
;
For systems with a polynomial D
matrix zeros are
calculated as the roots of the determinant of the system matrix.
Caution: the computed zeros are not always reliable, in particular in case of repeated zeros.
Examples
W1=ssrand(2,2,5);trzeros(W1) //call trzeros roots(det(systmat(W1))) //roots of det(system matrix) s=poly(0,'s');W=[1/(s+1);1/(s-2)];W2=(s-3)*W*W';[nt,dt,rk]=trzeros(W2); St=systmat(tf2ss(W2));[Q,Z,Qd,Zd,numbeps,numbeta]=kroneck(St); St1=Q*St*Z;rowf=(Qd(1)+Qd(2)+1):(Qd(1)+Qd(2)+Qd(3)); colf=(Zd(1)+Zd(2)+1):(Zd(1)+Zd(2)+Zd(3)); roots(St1(rowf,colf)), nt./dt //By Kronecker form
<< time_id | CACSD | ui_observer >> |