File: markp2ss.cat

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (32 lines) | stat: -rw-r--r-- 931 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
markp2ss          Scilab Group          Scilab Function            markp2ss
NAME
   markp2ss - Markov parameters to state-space
  
CALLING SEQUENCE
 [sl]=markp2ss(markpar,n,nout,nin)
PARAMETERS
 markpar    : matrix
            
 n,nout,nin : integers
            
 Sl         : syslin list
            
DESCRIPTION
   given a set of n Markov parameters stacked in the (row)-matrix  markpar
  of size noutX(n*nin) markp2ss returns a state-space linear system sl
  (syslin list)  such that with [A,B,C,D]=abcd(sl):
  
    C*B = markpar(1:nout,1:nin),
    C*A*B =markpar(1:nout,nin+1:2*nin),....
EXAMPLE
 W=ssrand(2,3,4);   //random system with 2 outputs and 3 inputs
 [a,b,c,d]=abcd(W);
 markpar=[c*b,c*a*b,c*a^2*b,c*a^3*b,c*a^4*b];
 S=markp2ss(markpar,5,2,3);
 [A,B,C,D]=abcd(S);
 Markpar=[C*B,C*A*B,C*A^2*B,C*A^3*B,C*A^4*B];
 norm(markpar-Markpar,1)
 //Caution... c*a^5*b is not C*A^5*B !
SEE ALSO
   frep2tf, tf2ss, imrep2ss