Scilab Function

sysfact - system factorization

### Sequence d'appel

  `[S,Series]=sysfact(Sys,Gain,flag)`

### Parametres

- `Sys` : `syslin` list containing the matrices `[A,B,C,D]`.
- `Gain` : real matrix
- `flag` : string `'post'` or `'pre'`
- `S` : `syslin` list
- `Series` : `syslin` list

### Description

If `flag` equals `'post'`, `sysfact` returns in `S` the linear system with ABCD matrices `(A+B*Gain, B , Gain, I)`, and `Series`, a minimal realization of the series system `Sys*S`. If `flag` equals `'pre'`, `sysfact` returns the linear system `(A+Gain*C, Gain , C, I)` and `Series`, a minimal realization of the series system `S*Sys`.

### Exemples

    //Kalman filter
    Sys=ssrand(3,2,4);Sys('D')=rand(3,2);
    S=sysfact(Sys,lqr(Sys),'post');
    ww=minss(Sys*S);
    ss2tf(gtild(ww)*ww),Sys('D')'*Sys('D')
    //Kernel
    Sys=ssrand(2,3,4);
    [X,d,F,U,k,Z]=abinv(Sys);
    ss2tf(Sys*Z)
    ss2tf(Sys*sysfact(Sys,F,'post')*U)

### Voir aussi

`lqr` `lqe`

### Auteur

F.D.