db72bfca2b70b046ec2a78d8d2f1280bb96629cc
[scilab.git] / scilab / modules / elementary_functions / help / en_US / signalprocessing / syslin.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2008 - INRIA
5  * 
6  * This file must be used under the terms of the CeCILL.
7  * This source file is licensed as described in the file COPYING, which
8  * you should have received as part of this distribution.  The terms
9  * are also available at    
10  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11  *
12  -->
13 <refentry version="5.0-subset Scilab" xml:id="syslin" xml:lang="en"
14           xmlns="http://docbook.org/ns/docbook"
15           xmlns:xlink="http://www.w3.org/1999/xlink"
16           xmlns:svg="http://www.w3.org/2000/svg"
17           xmlns:ns5="http://www.w3.org/1999/xhtml"
18           xmlns:mml="http://www.w3.org/1998/Math/MathML"
19           xmlns:db="http://docbook.org/ns/docbook">
20   <info>
21     <pubdate>$LastChangedDate$</pubdate>
22   </info>
23
24   <refnamediv>
25     <refname>syslin</refname>
26
27     <refpurpose>linear system definition</refpurpose>
28   </refnamediv>
29
30   <refsynopsisdiv>
31     <title>Calling Sequence</title>
32
33     <synopsis>[sl]=syslin(dom,A,B,C [,D [,x0] ])
34 [sl]=syslin(dom,N,D)
35 [sl]=syslin(dom,H)</synopsis>
36   </refsynopsisdiv>
37
38   <refsection>
39     <title>Arguments</title>
40
41     <variablelist>
42       <varlistentry>
43         <term>dom</term>
44
45         <listitem>
46           <para>character string (<literal>'c'</literal>,
47           <literal>'d'</literal>), or <literal>[]</literal> or a
48           scalar.</para>
49         </listitem>
50       </varlistentry>
51
52       <varlistentry>
53         <term>A,B,C,D</term>
54
55         <listitem>
56           <para>matrices of the state-space representation
57           (<literal>D</literal> optional with default value zero matrix). For
58           improper systems <literal>D</literal> is a polynomial matrix.</para>
59         </listitem>
60       </varlistentry>
61
62       <varlistentry>
63         <term>x0</term>
64
65         <listitem>
66           <para>vector (initial state; default value is
67           <literal>0</literal>)</para>
68         </listitem>
69       </varlistentry>
70
71       <varlistentry>
72         <term>N, D</term>
73
74         <listitem>
75           <para>polynomial matrices</para>
76         </listitem>
77       </varlistentry>
78
79       <varlistentry>
80         <term>H</term>
81
82         <listitem>
83           <para>rational matrix or linear state space representation</para>
84         </listitem>
85       </varlistentry>
86
87       <varlistentry>
88         <term>sl</term>
89
90         <listitem>
91           <para>tlist ("<literal>syslin</literal>" list) representing the
92           linear system</para>
93         </listitem>
94       </varlistentry>
95     </variablelist>
96   </refsection>
97
98   <refsection>
99     <title>Description</title>
100
101     <para><literal>syslin</literal> defines a linear system as a list and
102     checks consistency of data.</para>
103
104     <para><literal>dom</literal> specifies the time domain of the system and
105     can have the following values:</para>
106
107     <para><literal>dom='c'</literal> for a continuous time system,
108     <literal>dom='d'</literal> for a discrete time system,
109     <literal>n</literal> for a sampled system with sampling period
110     <literal>n</literal> (in seconds).</para>
111
112     <para><literal>dom=[]</literal> if the time domain is undefined</para>
113
114     <para>State-space representation:</para>
115
116     <programlisting role = ""><![CDATA[ 
117 sl=syslin(dom,A,B,C [,D [,x0] ])
118  ]]></programlisting>
119
120     <para>represents the system :</para>
121
122     <informalequation>
123       <mediaobject>
124         <imageobject>
125           <imagedata align="center" fileref="../../mml/syslin_equation_1.mml" />
126         </imageobject>
127       </mediaobject>
128     </informalequation>
129
130     <para>The output of <literal>syslin</literal> is a list of the following
131     form:
132     <literal>sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)</literal>
133     Note that <literal>D</literal> is allowed to be a polynomial matrix
134     (improper systems).</para>
135
136     <para>Transfer matrix representation:</para>
137
138     <programlisting role = ""><![CDATA[ 
139 sl=syslin(dom,N,D) 
140 sl=syslin(dom,H)
141  ]]></programlisting>
142
143     <para>The output of <literal>syslin</literal> is a list of the following
144     form : <literal>sl=tlist(['r','num','den','dt'],N,D,dom)</literal> or
145     <literal>sl=tlist(['r','num','den','dt'],H(2),H(3),dom)</literal>.</para>
146
147     <para>Linear systems defined as <literal>syslin</literal> can be
148     manipulated as usual matrices (concatenation, extraction, transpose,
149     multiplication, etc) both in state-space or transfer
150     representation.</para>
151
152     <para>Most of state-space control functions receive a
153     <literal>syslin</literal> list as input instead of the four matrices
154     defining the system.</para>
155   </refsection>
156
157   <refsection>
158     <title>Examples</title>
159
160     <programlisting role="example"><![CDATA[ 
161 A=[0,1;0,0];B=[1;1];C=[1,1];
162 S1=syslin('c',A,B,C)   //Linear system definition
163 S1("A")    //Display of A-matrix
164 S1("X0"), S1("dt") // Display of X0 and time domain
165 s=poly(0,'s');
166 D=s;
167 S2=syslin('c',A,B,C,D)
168 H1=(1+2*s)/s^2, S1bis=syslin('c',H1)
169 H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2)
170 S1+S2
171 [S1,S2]
172 ss2tf(S1)-S1bis
173 S1bis+S2bis
174 S1*S2bis
175 size(S1)
176  ]]></programlisting>
177   </refsection>
178
179   <refsection role="see also">
180 <title>See Also</title>
181
182     <simplelist type="inline">
183       <member><link linkend="tlist">tlist</link></member>
184
185       <member><link linkend="lsslist">lsslist</link></member>
186
187       <member><link linkend="rlist">rlist</link></member>
188
189       <member><link linkend="ssrand">ssrand</link></member>
190
191       <member><link linkend="ss2tf">ss2tf</link></member>
192
193       <member><link linkend="tf2ss">tf2ss</link></member>
194
195       <member><link linkend="dscr">dscr</link></member>
196
197       <member><link linkend="abcd">abcd</link></member>
198     </simplelist>
199   </refsection>
200 </refentry>