33464295b420ab8de7d62b1590236c67fe5e375e
[scilab.git] / scilab / modules / xcos / help / en_US / batch_functions / lincos.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scicos
4  * 
5  * Copyright (C) INRIA - METALAU Project <scicos@inria.fr> (HTML version)
6  * Copyright (C) DIGITEO - Scilab Consortium (XML Docbook version)
7  * 
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  *  (at your option) any later version.
12  * 
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  * 
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21  * 
22  * See the file ./license.txt
23  -->
24 <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:id="lincos">
25     <refnamediv>
26         <refname>lincos</refname>
27         <refpurpose>Constructs by linearization a linear state-space model from a general dynamical system described by a Xcos diagram</refpurpose>
28     </refnamediv>
29     <refsynopsisdiv>
30         <title>Calling Sequence</title>
31         <synopsis>sys = lincos(scs_m [,x0,u0 [,param] ])</synopsis>
32     </refsynopsisdiv>
33     <refsection id="Module_lincos">
34         <title>Module</title>
35         <itemizedlist>
36             <listitem>
37                 <para>
38                     <link linkend="xcos">xcos</link>
39                 </para>
40             </listitem>
41         </itemizedlist>
42     </refsection>
43     <refsection id="Description_lincos">
44         <title>Description</title>
45         <para>
46             Construct a linear state-space system by linearizing a model given as a Xcos diagram. The idea is to transform a <link linkend="SUPER_f">sub-diagram</link> to a linear state-space model. The sub-diagram should have <link linkend="IN_f">inputs</link> and <link linkend="OUT_f">outputs</link>.
47         </para>
48         <para>
49             The output is a Scilab data structure of type continuous-time state-space linear system.
50         </para>
51     </refsection>
52     <refsection>
53         <title>Examples</title>
54         <programlisting role="example"><![CDATA[
55 // loading data
56 exec("SCI/modules/xcos/tests/unit_tests/PENDULUM_ANIM.sci");
57 exec("SCI/modules/xcos/tests/unit_tests/anim_pen.sci");
58
59 loadXcosLibs(); loadScicos();
60 importXcosDiagram("SCI/modules/xcos/tests/unit_tests/pendulum_anim45.xcos");
61
62 // specific context data
63 M  = 10;
64 m  = 3;
65 l  = 3;
66 ph = 0.1;
67
68 // looking for the Superblock to linearize
69 for i=1:length(scs_m.objs)
70     if typeof(scs_m.objs(i))=="Block" & scs_m.objs(i).gui=="SUPER_f" then
71         scs_m = scs_m.objs(i).model.rpar;
72         break;
73     end
74 end
75
76 sys = lincos(scs_m);
77
78 bode(sys);
79  ]]></programlisting>
80     </refsection>
81     <refsection id="Parameters_lincos">
82         <title>Arguments</title>
83         <itemizedlist>
84             <listitem>
85                 <para>
86                     <emphasis role="bold">scs_m :</emphasis> a xcos data structure
87                 </para>
88             </listitem>
89             <listitem>
90                 <para>
91                     <emphasis role="bold">x0 :</emphasis> column vector. Continuous state around which linearization to be done (default 0)
92                 </para>
93             </listitem>
94             <listitem>
95                 <para>
96                     <emphasis role="bold">u0 :</emphasis> column vector. Input around which linearization to be done (default 0)
97                 </para>
98             </listitem>
99             <listitem>
100                 <para>
101                     <emphasis role="bold">param :</emphasis> param: list with two elements (default list(1.d-6,0)) param(1): scalar. Perturbation level for linearization; the following variation is used del([x;u])_i = param(1)+param(1)*1d-4*abs([x;u])_i. param(2): scalar. Time t.
102                 </para>
103             </listitem>
104             <listitem>
105                 <para>
106                     <emphasis role="bold">sys :</emphasis> state-space system
107                 </para>
108             </listitem>
109         </itemizedlist>
110     </refsection>
111     <refsection id="SeeAlso_lincos">
112         <title>See Also</title>
113         <itemizedlist>
114             <listitem>
115                 <para>
116                     <link linkend="steadycos">steadycos - Finds an equilibrium state of a general dynamical system described by a xcos diagram (Scilab Function)</link>
117                 </para>
118             </listitem>
119             <listitem>
120                 <para>
121                     <link linkend="scicos_simulate">scicos_simulate - Function for running xcos simulation in batch mode (Scilab Function)</link>
122                 </para>
123             </listitem>
124         </itemizedlist>
125     </refsection>
126 </refentry>