Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Français - Português - 日本語 -

See the recommended documentation of this function

Справка Scilab >> CACSD > Linear System Factorization > sysfact

# sysfact

system factorization

### Syntax

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

### Arguments

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

### Examples

```//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)```