syslin - définition d'un système dynamique linéaire
syslin définit un système dynamique linéaire en temps que liste typée, et vérifie la consistance des données.
dom spécifie le domaine temporel :
dom='c' pour un système à temps continu, dom='d' pour un système à temps discret, n pour un système échantillonné à la période n (en secondes).
dom=[] si le domaine temporel n'est pas défini
Représentation d'état :
sl=syslin(dom,A,B,C [,D [,x0] ])
représente le système :
s x = A*x + B*u y = C*x + D*u x(0) = x0
La sortie de syslin est une liste de la forme suivante : sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom) Notez que D peut être une matrice polynomiale (systèmes impropres).
Représentation sous forme de matrice de transfert :
sl=syslin(dom,N,D) sl=syslin(dom,H)
La sortie de syslin est une liste de la forme : sl=tlist(['r','num','den','dt'],N,D,dom) ou sl=tlist(['r','num','den','dt'],H(2),H(3),dom) .
Les systèmes linéaires obtenus en sortie de syslin peuvent être manipulés comme des matrices usuelles (concaténation, extraction, transposition, multiplication, etc.) dans les deux types de représentation (représentation d'état ou matrice de transfert).
La plupart des fonctions de la librairie de contrôle acceptent les listes de type syslin en argument au lieu des quatre matrices de la représentation d'état.
A=[0,1;0,0];B=[1;1];C=[1,1]; S1=syslin('c',A,B,C) // Définition du système S1.A // La matrice A S1.X0, S1.dt // affichage de X0 et du domaine temporel s=poly(0,'s'); D=s; S2=syslin('c',A,B,C,D) H1=(1+2*s)/s^2, S1bis=syslin('c',H1) H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2) S1+S2 [S1,S2] ss2tf(S1)-S1bis S1bis+S2bis S1*S2bis size(S1)
tlist , lsslist , rlist , ssrand , ss2tf , tf2ss , dscr , abcd ,