~ubuntu-branches/ubuntu/raring/scilab/raring-proposed

« back to all changes in this revision

Viewing changes to modules/cacsd/help/en_US/ss2ss.xml

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2012-08-30 14:42:38 UTC
  • mfrom: (1.4.7)
  • Revision ID: package-import@ubuntu.com-20120830144238-c1y2og7dbm7m9nig
Tags: 5.4.0-beta-3-1~exp1
* New upstream release
* Update the scirenderer dep
* Get ride of libjhdf5-java dependency

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" encoding="UTF-8"?>
2
 
<!--
3
 
 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4
 
 * Copyright (C) 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 xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ss2ss" xml:lang="en">
14
 
  <refnamediv>
15
 
    <refname>ss2ss</refname>
16
 
    <refpurpose>state-space to state-space conversion, feedback,
17
 
      injection
18
 
    </refpurpose>
19
 
  </refnamediv>
20
 
  <refsynopsisdiv>
21
 
    <title>Calling Sequence</title>
22
 
    <synopsis>[Sl1,right,left]=ss2ss(Sl,T, [F, [G , [flag]]])</synopsis>
23
 
  </refsynopsisdiv>
24
 
  <refsection>
25
 
    <title>Arguments</title>
26
 
    <variablelist>
27
 
      <varlistentry>
28
 
        <term>Sl</term>
29
 
        <listitem>
30
 
          <para>
31
 
            linear system (<literal>syslin</literal> list) in state-space
32
 
            form
33
 
          </para>
34
 
        </listitem>
35
 
      </varlistentry>
36
 
      <varlistentry>
37
 
        <term>T</term>
38
 
        <listitem>
39
 
          <para>square (non-singular) matrix</para>
40
 
        </listitem>
41
 
      </varlistentry>
42
 
      <varlistentry>
43
 
        <term>Sl1, right, left</term>
44
 
        <listitem>
45
 
          <para>linear systems (syslin lists) in state-space form</para>
46
 
        </listitem>
47
 
      </varlistentry>
48
 
      <varlistentry>
49
 
        <term>F</term>
50
 
        <listitem>
51
 
          <para>real matrix (state feedback gain)</para>
52
 
        </listitem>
53
 
      </varlistentry>
54
 
      <varlistentry>
55
 
        <term>G</term>
56
 
        <listitem>
57
 
          <para>real matrix (output injection gain)</para>
58
 
        </listitem>
59
 
      </varlistentry>
60
 
    </variablelist>
61
 
  </refsection>
62
 
  <refsection>
63
 
    <title>Description</title>
64
 
    <para>
65
 
      Returns the linear system <literal>Sl1=[A1,B1,C1,D1]</literal> where
66
 
      <literal>A1=inv(T)*A*T, B1=inv(T)*B, C1=C*T, D1=D</literal>.
67
 
    </para>
68
 
    <para>
69
 
      Optional parameters <literal>F</literal> and <literal>G</literal>
70
 
      are state feedback and output injection respectively.
71
 
    </para>
72
 
    <para>
73
 
      For example, <literal>Sl1=ss2ss(Sl,T,F)</literal> returns
74
 
      <literal>Sl1</literal> with:
75
 
    </para>
76
 
    <mediaobject>
77
 
      <imageobject>
78
 
        <imagedata align="center" fileref="../mml/ss2ss_equation1.mml"/>
79
 
      </imageobject>
80
 
    </mediaobject>
81
 
    <para>
82
 
      and <literal>right</literal> is a non singular linear system such
83
 
      that <literal>Sl1=Sl*right</literal>.
84
 
    </para>
85
 
    <para>
86
 
      <literal>Sl1*inv(right)</literal> is a factorization of
87
 
      <literal>Sl</literal>.
88
 
    </para>
89
 
    <para>
90
 
      <literal>Sl1=ss2ss(Sl,T,0*F,G)</literal> returns
91
 
      <literal>Sl1</literal> with:
92
 
    </para>
93
 
    <mediaobject>
94
 
      <imageobject>
95
 
        <imagedata align="center" fileref="../mml/ss2ss_equation2.mml"/>
96
 
      </imageobject>
97
 
    </mediaobject>
98
 
    <para>
99
 
      and <literal>left</literal> is a non singular linear system such
100
 
      that <literal>Sl1=left*Sl</literal> (<literal>right=Id</literal> if
101
 
      <literal>F=0</literal>).
102
 
    </para>
103
 
    <para>
104
 
      When both <literal>F</literal> and <literal>G</literal> are given,
105
 
      <literal>Sl1=left*Sl*right</literal>.
106
 
    </para>
107
 
    <itemizedlist>
108
 
      <listitem>
109
 
        <para>
110
 
          When <literal>flag</literal> is used and
111
 
          <literal>flag=1</literal> an output injection as follows is used
112
 
        </para>
113
 
        <mediaobject>
114
 
          <imageobject>
115
 
            <imagedata fileref="../mml/ss2ss_equation3.mml"/>
116
 
          </imageobject>
117
 
        </mediaobject>
118
 
        <para>
119
 
          and then a feedback is performed, <literal>F</literal> must be
120
 
          of size <literal>(m+p,n)</literal>
121
 
        </para>
122
 
        <mediaobject>
123
 
          <imageobject>
124
 
            <imagedata align="left" fileref="../mml/ss2ss_equation4.mml"/>
125
 
          </imageobject>
126
 
        </mediaobject>
127
 
        <para>
128
 
          <literal>right</literal> and <literal>left</literal> have the
129
 
          following property:
130
 
        </para>
131
 
        <programlisting role=""><![CDATA[ 
132
 
Sl1 = left*sysdiag(sys,eye(p,p))*right 
133
 
 ]]></programlisting>
134
 
      </listitem>
135
 
      <listitem>
136
 
        <para>
137
 
          When <literal>flag</literal> is used and
138
 
          <literal>flag=2</literal> a feedback (<literal>F</literal> must be of
139
 
          size <literal>(m,n)</literal>) is performed and then the above output
140
 
          injection is applied. <literal>right</literal> and
141
 
          <literal>left</literal> have the following property:
142
 
        </para>
143
 
        <programlisting role=""><![CDATA[ 
144
 
 Sl1 = left*sysdiag(sys*right,eye(p,p)))
145
 
 ]]></programlisting>
146
 
      </listitem>
147
 
    </itemizedlist>
148
 
  </refsection>
149
 
  <refsection>
150
 
    <title>Examples</title>
151
 
    <programlisting role="example"><![CDATA[ 
152
 
Sl=ssrand(2,2,5); trzeros(Sl)       // zeros are invariant:
153
 
Sl1=ss2ss(Sl,rand(5,5),rand(2,5),rand(5,2)); 
154
 
trzeros(Sl1), trzeros(rand(2,2)*Sl1*rand(2,2))
155
 
// output injection [ A + GC, (B+GD,-G)]
156
 
//                  [   C   , (D   , 0)]
157
 
p=1,m=2,n=2; sys=ssrand(p,m,n);
158
 
 
159
 
// feedback (m,n)  first and then output injection.
160
 
 
161
 
F1=rand(m,n);
162
 
G=rand(n,p);
163
 
[sys1,right,left]=ss2ss(sys,rand(n,n),F1,G,2);
164
 
 
165
 
// Sl1 equiv left*sysdiag(sys*right,eye(p,p)))
166
 
 
167
 
res=clean(ss2tf(sys1) - ss2tf(left*sysdiag(sys*right,eye(p,p))))
168
 
 
169
 
// output injection then feedback (m+p,n) 
170
 
F2=rand(p,n); F=[F1;F2];
171
 
[sys2,right,left]=ss2ss(sys,rand(n,n),F,G,1);
172
 
 
173
 
// Sl1 equiv left*sysdiag(sys,eye(p,p))*right 
174
 
 
175
 
res=clean(ss2tf(sys2)-ss2tf(left*sysdiag(sys,eye(p,p))*right))
176
 
 
177
 
// when F2= 0; sys1 and sys2 are the same 
178
 
F2=0*rand(p,n);F=[F1;F2];
179
 
[sys2,right,left]=ss2ss(sys,rand(n,n),F,G,1);
180
 
 
181
 
res=clean(ss2tf(sys2)-ss2tf(sys1))
182
 
 ]]></programlisting>
183
 
  </refsection>
184
 
  <refsection role="see also">
185
 
    <title>See Also</title>
186
 
    <simplelist type="inline">
187
 
      <member>
188
 
        <link linkend="projsl">projsl</link>
189
 
      </member>
190
 
      <member>
191
 
        <link linkend="feedback">feedback</link>
192
 
      </member>
193
 
    </simplelist>
194
 
  </refsection>
195
 
</refentry>