License Header change: Removed the LICENSE_END before beta
[scilab.git] / scilab / modules / cacsd / help / en_US / feedback.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="feedback">
17     <refnamediv>
18         <refname>feedback</refname>
19         <refpurpose>feedback operation</refpurpose>
20     </refnamediv>
21     <refsynopsisdiv>
22         <title>Calling Sequence</title>
23         <synopsis>Sl=Sl1/.Sl2</synopsis>
24     </refsynopsisdiv>
25     <refsection>
26         <title>Arguments</title>
27         <variablelist>
28             <varlistentry>
29                 <term>Sl1,Sl2</term>
30                 <listitem>
31                     <para>
32                         linear systems (<literal>syslin</literal> list) in state-space or transfer form, or ordinary gain matrices.
33                     </para>
34                 </listitem>
35             </varlistentry>
36             <varlistentry>
37                 <term>Sl</term>
38                 <listitem>
39                     <para>
40                         linear system (<literal>syslin</literal> list) in state-space or transfer form
41                     </para>
42                 </listitem>
43             </varlistentry>
44         </variablelist>
45     </refsection>
46     <refsection>
47         <title>Description</title>
48         <para>
49             The feedback operation is denoted by <literal> /. </literal> (slashdot).
50             This command returns <literal>Sl=Sl1*(I+Sl2*Sl1)^-1</literal>, i.e the (negative) 
51             feedback of <literal>Sl1</literal> and <literal>Sl2</literal>. <literal>Sl</literal> is the transfer
52             <literal> v -&gt; y</literal> for <literal> y = Sl1 u</literal>, <literal>u = v - Sl2 y</literal>.
53         </para>
54         <para>
55             The result is the same as <literal>Sl=LFT([0,I;I,-Sl2],Sl1)</literal>.
56         </para>
57         <para>
58             <warning>
59                 Caution: do not use with decimal point (e.g. <literal>1/.1</literal> is ambiguous!)
60             </warning>
61         </para>
62     </refsection>
63     <refsection>
64         <title>Examples</title>
65         <programlisting role="example"><![CDATA[ 
66 S1=ssrand(2,2,3);S2=ssrand(2,2,2);
67 W=S1/.S2;
68 ss2tf(S1/.S2)
69 //Same operation by LFT:
70 ss2tf(lft([zeros(2,2),eye(2,2);eye(2,2),-S2],S1))
71 //Other approach: with constant feedback
72 BigS=sysdiag(S1,S2); F=[zeros(2,2),eye(2,2);-eye(2,2),zeros(2,2)];
73 Bigclosed=BigS/.F;
74 W1=Bigclosed(1:2,1:2);   //W1=W (in state-space).
75 ss2tf(W1)
76 //Inverting
77 ss2tf(S1*inv(eye()+S2*S1))
78  ]]></programlisting>
79     </refsection>
80     <refsection role="see also">
81         <title>See Also</title>
82         <simplelist type="inline">
83             <member>
84                 <link linkend="lft">lft</link>
85             </member>
86             <member>
87                 <link linkend="sysdiag">sysdiag</link>
88             </member>
89             <member>
90                 <link linkend="augment">augment</link>
91             </member>
92             <member>
93                 <link linkend="obscont">obscont</link>
94             </member>
95         </simplelist>
96     </refsection>
97 </refentry>