- Scilab help
- CACSD
- abcd
- abinv
- arhnk
- arl2
- arma
- arma2p
- armac
- armax
- armax1
- arsimul
- augment
- balreal
- bilin
- black
- bode
- bstap
- cainv
- calfrq
- canon
- ccontrg
- chart
- 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
- nyquistfrequencybounds
- 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
rtitr
discrete time response (transfer matrix)
Calling Sequence
[y]=rtitr(Num,Den,u [,up,yp])
Arguments
- Num,Den
polynomial matrices (resp. dimensions :
nxmandnxn)- u
real matrix (dimension
mx(t+1)- up,yp
real matrices (
updimensionmx(max(degree(Den)))(default values=0) ,ypdimensionnx(max(degree(Den))))- y
real matrix
Description
y=rtitr(Num,Den,u [,up,yp]) returns the time response of
the discrete time linear system with transfer matrix Den^-1 Num
for the input u, i.e y and u are such that Den y = Num u at t=0,1,...
If d1=max(degree(Den)), and d2=max(degree(Num)) the polynomial
matrices Den(z) and Num(z) may be written respectively as:
D(z) = D_0 + D_1 z + ... + D_d1 z^d1 N(z) = N_0 + N_1 z + ... + N_d2 z^d2
and Den y = Num u is interpreted as the recursion:
D(0)y(t)+D(1)y(t+1)+...+ D(d1)y(t+d1)= N(0) u(t) +....+ N(d2) u(t+d2)
It is assumed that D(d1) is non singular.
The columns of u are the inputs of the system at t=0,1,...,T:
u=[u(0) , u(1),...,u(T)]
The outputs at t=0,1,...,T+d1-d2 are the columns of the matrix y:
y = [y(0), y(1), .... y(T+d1-d2)]
up and yp define the initial conditions for t < 0 i.e
up = [u(-d1), ..., u(-1) ] yp = [y(-d1), ... y(-1) ]
Depending on the relative values of d1 and d2, some of the
leftmost components of up, yp are ignored.
The default values of up and yp are zero:
up = 0*ones(m,d1), yp=0*ones(n,d1)
Examples
z=poly(0,'z'); Num=1+z;Den=1+z;u=[1,2,3,4,5]; rtitr(Num,Den,u)-u //Other examples //siso //causal n1=1;d1=poly([1 1],'z','coeff'); // y(j)=-y(j-1)+u(j-1) r1=[0 1 0 1 0 1 0 1 0 1 0]; r=rtitr(n1,d1,ones(1,10));norm(r1-r,1) //hot restart r=rtitr(n1,d1,ones(1,9),1,0);norm(r1(2:11)-r) //non causal n2=poly([1 1 1],'z','coeff');d2=d1; // y(j)=-y(j-1)+u(j-1)+u(j)+u(j+1) r2=[2 1 2 1 2 1 2 1 2]; r=rtitr(n2,d2,ones(1,10));norm(r-r2,1) //hot restart r=rtitr(n2,d2,ones(1,9),1,2);norm(r2(2:9)-r,1) // //MIMO example //causal d1=d1*diag([1 0.5]);n1=[1 3 1;2 4 1];r1=[5;14]*r1; r=rtitr(n1,d1,ones(3,10));norm(r1-r,1) // r=rtitr(n1,d1,ones(3,9),[1;1;1],[0;0]); norm(r1(:,2:11)-r,1) //polynomial n1 (same ex.) n1(1,1)=poly(1,'z','c');r=rtitr(n1,d1,ones(3,10));norm(r1-r,1) // r=rtitr(n1,d1,ones(3,9),[1;1;1],[0;0]); norm(r1(:,2:11)-r,1) //non causal d2=d1;n2=n2*n1;r2=[5;14]*r2; r=rtitr(n2,d2,ones(3,10));norm(r2-r) // r=rtitr(n2,d2,ones(3,9),[1;1;1],[10;28]); norm(r2(:,2:9)-r,1) // // State-space or transfer a = [0.21 , 0.63 , 0.56 , 0.23 , 0.31 0.76 , 0.85 , 0.66 , 0.23 , 0.93 0 , 0.69 , 0.73 , 0.22 , 0.21 0.33 , 0.88 , 0.2 , 0.88 , 0.31 0.67 , 0.07 , 0.54 , 0.65 , 0.36]; b = [0.29 , 0.5 , 0.92 0.57 , 0.44 , 0.04 0.48 , 0.27 , 0.48 0.33 , 0.63 , 0.26 0.59 , 0.41 , 0.41]; c = [0.28 , 0.78 , 0.11 , 0.15 , 0.84 0.13 , 0.21 , 0.69 , 0.7 , 0.41]; d = [0.41 , 0.11 , 0.56 0.88 , 0.2 , 0.59]; s=syslin('d',a,b,c,d); h=ss2tf(s);num=h('num');den=h('den');den=den(1,1)*eye(2,2); u=1;u(3,10)=0;r3=flts(u,s); r=rtitr(num,den,u);norm(r3-r,1)
See Also
| << rowregul | CACSD | sensi >> |