Scilab Function

syslin - définition d'un système dynamique linéaire

### Sequence d'appel

  `[sl]=syslin(dom,A,B,C [,D [,x0] ])`
  `[sl]=syslin(dom,N,D)`
  `[sl]=syslin(dom,H)`

### Parametres

- `dom` : chaîne de caractères (`'c'`, `'d'`), ou `[]` ou un scalaire.
- `A,B,C,D` : matrices de la représentation d'état (`D` est optionnelle, matrice nulle par défaut). Pour les systèmes impropres `D` est une matrice polynomiale.
- `x0` : vecteur (état initial, vecteur nul par défaut)
- `N, D` : matrices polynomiales
- `H` : matrice rationnelle
- `sl` : tlist (liste de type "`syslin`") représentant le système dynamique

### Description

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

### Exemples

    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)

### Voir aussi

`tlist` `lsslist` `rlist` `ssrand` `ss2tf` `tf2ss` `dscr` `abcd`