License Header change: Removed the LICENSE_END before beta
[scilab.git] / scilab / modules / cacsd / help / en_US / stabil.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) INRIA - 
5  * 
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="stabil">
17     <refnamediv>
18         <refname>stabil</refname>
19         <refpurpose>stabilization</refpurpose>
20     </refnamediv>
21     <refsynopsisdiv>
22         <title>Calling Sequence</title>
23         <synopsis>F=stabil(A,B,alfa)
24             K=stabil(Sys,alfa,beta)
25         </synopsis>
26     </refsynopsisdiv>
27     <refsection>
28         <title>Arguments</title>
29         <variablelist>
30             <varlistentry>
31                 <term>A</term>
32                 <listitem>
33                     <para>
34                         square real matrix (<literal>nx x nx</literal>)
35                     </para>
36                 </listitem>
37             </varlistentry>
38             <varlistentry>
39                 <term>B</term>
40                 <listitem>
41                     <para>
42                         real matrix (<literal>nx x nu</literal>)
43                     </para>
44                 </listitem>
45             </varlistentry>
46             <varlistentry>
47                 <term>alfa, beta</term>
48                 <listitem>
49                     <para> real or complex vector (in conjugate pairs) or real number.</para>
50                 </listitem>
51             </varlistentry>
52             <varlistentry>
53                 <term>F</term>
54                 <listitem>
55                     <para>
56                         real matrix (<literal>nx x nu</literal>)
57                     </para>
58                 </listitem>
59             </varlistentry>
60             <varlistentry>
61                 <term>Sys</term>
62                 <listitem>
63                     <para>
64                         linear system (<literal>syslin</literal> list) (<literal>m</literal> inputs, <literal>p</literal> outputs).
65                     </para>
66                 </listitem>
67             </varlistentry>
68             <varlistentry>
69                 <term>K</term>
70                 <listitem>
71                     <para>
72                         linear system (<literal>p</literal> inputs, <literal>m</literal> outputs)
73                     </para>
74                 </listitem>
75             </varlistentry>
76         </variablelist>
77     </refsection>
78     <refsection>
79         <title>Description</title>
80         <para>
81             <literal>F=stabil(A,B,alfa)</literal> returns a gain matrix <literal>F</literal> such that
82             <literal>A+B*F</literal> is stable if pair <literal>(A,B)</literal> is stabilizable. 
83             Assignable poles are set to <literal>alfa(1),alfa(2),...</literal>.
84             If <literal>(A,B)</literal> is not stabilizable a warning is given
85             and assignable poles are set to <literal>alfa(1),alfa(2),...</literal>.
86             If <literal>alfa</literal> is a number all eigenvalues are set to this
87             <literal>alfa</literal> (default value is <literal>alfa=-1</literal>).
88         </para>
89         <para>
90             <literal>K=stabil(Sys,alfa,beta)</literal> returns <literal>K</literal>, a compensator for <literal>Sys</literal>
91             such that <literal>(A,B)</literal>-controllable eigenvalues are set to 
92             <literal>alfa</literal> and <literal>(C,A)</literal>-observable eigenvalues are set to <literal>beta</literal>.
93         </para>
94         <para>
95             All assignable closed loop poles (which are given by the 
96             eigenvalues of <literal>Aclosed=h_cl(Sys,K)</literal> are set to <literal>alfa(i)</literal>'s
97             and <literal>beta(j)</literal>'s.
98         </para>
99     </refsection>
100     <refsection>
101         <title>Examples</title>
102         <programlisting role="example"><![CDATA[ 
103 // Gain:
104 Sys=ssrand(0,2,5,list('st',2,3,3));
105 A=Sys('A');B=Sys('B');F=stabil(A,B);
106 spec(A) //2 controllable modes 2 unstable uncontrollable modes
107 //and one stable uncontrollable mode
108 spec(A+B*F) //the two controllable modes are set to -1.
109 // Compensator:
110 Sys=ssrand(3,2,5,list('st',2,3,3)); //3 outputs, 2 inputs, 5 states
111 //2 controllables modes, 3 controllable or stabilizable modes.
112 K=stabil(Sys,-2,-3);  //Compensator for Sys.
113 spec(Sys('A'))
114 spec(h_cl(Sys,K))   //K Stabilizes what can be stabilized.
115  ]]></programlisting>
116     </refsection>
117     <refsection role="see also">
118         <title>See Also</title>
119         <simplelist type="inline">
120             <member>
121                 <link linkend="st_ility">st_ility</link>
122             </member>
123             <member>
124                 <link linkend="contr">contr</link>
125             </member>
126             <member>
127                 <link linkend="ppol">ppol</link>
128             </member>
129         </simplelist>
130     </refsection>
131 </refentry>