* Bug 10668 fixed: bloc2ss() page was inaccurate
[scilab.git] / scilab / modules / elementary_functions / help / ru_RU / signalprocessing / bloc2ss.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 - Serge STEER
5  * Copyright (C) 2008 - INRIA - Francois DELEBECQUE
6  *
7  * Copyright (C) 2012 - 2016 - Scilab Enterprises
8  *
9  * This file is hereby licensed under the terms of the GNU GPL v2.0,
10  * pursuant to article 5.3.4 of the CeCILL v.2.1.
11  * This file was originally licensed under the terms of the CeCILL v2.1,
12  * and continues to be available under such terms.
13  * For more information, see the COPYING file which you should have received
14  * along with this program.
15  *
16  -->
17 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
18           xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
19           xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
20           xmlns:scilab="http://www.scilab.org" xml:id="bloc2ss" xml:lang="ru">
21     <refnamediv>
22         <refname>bloc2ss</refname>
23         <refpurpose>преобразование блок-схемы в пространство состояний</refpurpose>
24     </refnamediv>
25     <refsynopsisdiv>
26         <title>Синтаксис</title>
27         <synopsis>sl = bloc2ss(blocd)</synopsis>
28     </refsynopsisdiv>
29     <refsection>
30         <title>Аргументы</title>
31         <variablelist>
32             <varlistentry>
33                 <term>blocd</term>
34                 <listitem>
35                     <para>список</para>
36                 </listitem>
37             </varlistentry>
38             <varlistentry>
39                 <term>sl</term>
40                 <listitem>
41                     <para>список</para>
42                 </listitem>
43             </varlistentry>
44         </variablelist>
45     </refsection>
46     <refsection>
47         <title>Описание</title>
48         <para>
49             Заданную линейную систему в виде блок-схемы <literal>bloc2ss</literal> преобразует
50             в линейную систему пространство состояний. Первый элемент списка
51            <literal>blocd</literal> должен быть строкой <literal>'blocd'</literal>.
52            Остальные элементы этого списка должны сами по себе быть списками одного из следующего типа:
53         </para>
54         <programlisting><![CDATA[
55 list('transfer','name_of_linear_system')
56  ]]></programlisting>
57         <programlisting><![CDATA[
58 list('link','name_of_link',
59              [number_of_upstream_box,upstream_box_port],
60              [downstream_box_1,downstream_box_1_portnumber],
61              [downstream_box_2,downstream_box_2_portnumber],
62              ...)
63  ]]></programlisting>
64         <para>
65             Строки <literal>'transfer'</literal> и <literal>'link'</literal> являются ключевыми
66             словами, которые указывают тип элемента в блок-схеме.
67         </para>
68         <para>
69             Случай 1: второй параметр списка является символьной строкой, которая может ссылаться
70             (для возможного дальнейшего вычисления) на Scilab-имя линейной системы,
71             заданной в виде пространства состояний  (список <literal>syslin</literal>) или в
72             передаточной форме (матрица или рациональные дроби).
73         </para>
74         <para>
75             Каждому передаточному блоку присваивается целое число. Каждому входу и выходу
76             передаточного блока также присваивается свой номер, целое число (см. примеры).
77         </para>
78         <para>
79             Случай 2: второй вид элемента в представлении блок-схемы - это связь (link).
80             Связь связывает один выход блока, представленного парой
81             <literal>[number_of_upstream_box,upstream_box_port]</literal>
82             (то есть <literal>[номер_предшествующего_блока,порт_предшествующего_блока]</literal>),
83             с различными входами других блоков. Каждый такой вход предсталяется парой
84             <literal>[downstream_box_i,downstream_box_i_portnumber]</literal>
85             (то есть <literal>[последующий_блок_i,номер_порта_последующего_блока_i]</literal>).
86         </para>
87         <para>
88             Различные элементы блок-схемы могут определяться в произвольном порядке.
89         </para>
90         <para>Например</para>
91         <para>
92             [1] <literal>S1*S2</literal> с обратной связью блока.
93         </para>
94         <para>
95             Есть три передаточных звена <literal>S1</literal> (число
96             <literal>n_s1=2</literal>) , <literal>S2</literal> (число
97             <literal>n_s2=3</literal>) и сумматор (число <literal>n_add=4</literal>)
98             с символической передаточной функцией  <literal>['1','1']</literal>.
99         </para>
100         <para>
101             Есть 4 связи :
102             <itemizedlist>
103               <listitem>
104                 Первая (с именем <literal>'U'</literal>) связывает вход (порт 0  условного блока
105                 -1 не рассматривается) с портом 1 сумматора.
106               </listitem>
107               <listitem>
108                 Вторая и третья связи соответственно (выходной) порт 1 сумматора с (входным)
109                 портом 1 системы <literal>S1</literal>, а (выходной) порт 1
110                 <literal>S1</literal> с (входным) портом  1 <literal>S2</literal>.
111               </listitem>
112               <listitem>
113                 Четвёртая связь (названная <literal>'Y'</literal>)  связывает (выходной)
114                 порт 1 <literal>S2</literal> с выходом (порт 0 условного блока -1 не
115                 рассматривается) и с (входным) портом 2 сумматора.
116               </listitem>
117             </itemizedlist>
118         </para>
119     </refsection>
120     <refsection>
121         <title>Examples</title>
122         <programlisting role="example"><![CDATA[
123 //Инициализация
124 syst=list('blocd'); l=1;
125
126 //Системы
127 l=l+1;n_s1=l;syst(l)=list('transfer','S1');  //Система 1
128 l=l+1;n_s2=l;syst(l)=list('transfer','S2');  //Система 2
129 l=l+1;n_adder=l;syst(l)=list('transfer',['1','1']);  //сумматор
130
131 //Связи
132 // Выходы  -1 --> выход 1
133 l=l+1;syst(l)=list('link','U1',[-1],[n_adder,1]);
134
135 // Внутренние
136 l=l+1;syst(l)=list('link',' ',[n_adder,1],[n_s1,1]);
137 l=l+1;syst(l)=list('link',' ',[n_s1,1],[n_s2,1]);
138
139 // Выходы // -1 -> output 1
140 l=l+1;syst(l)=list('link','Y',[n_s2,1],[-1],[n_adder,2]);
141  ]]></programlisting>
142         <para>
143             Для <literal>s=poly(0,'s');S1=1/(s+1);S2=1/s;</literal> результатом вызова исполнения
144             <literal>sl=bloc2ss(syst);</literal> является представление в пространстве
145             состояний для <literal>1/(s^2+s-1)</literal>.
146         </para>
147         <para>[2] Пример LFT (Linear Fractional Transformation) :</para>
148         <programlisting role="example"><![CDATA[
149 // Инициализация
150 syst=list('blocd'); l=1;
151
152 // Система (установка блоков 2x2)
153 l=l+1;n_s=l;syst(l)=list('transfer',['P11','P12';'P21','P22']);
154
155 // Контроллер
156 l=l+1;n_k=l;syst(l)=list('transfer','k');
157
158 // Связи
159 l=l+1;syst(l)=list('link','w',[-1],[n_s,1]);
160 l=l+1;syst(l)=list('link','z',[n_s,1],[-1]);
161 l=l+1;syst(l)=list('link','u',[n_k,1],[n_s,2]);
162 l=l+1;syst(l)=list('link','y',[n_s,2],[n_k,1]);
163  ]]></programlisting>
164         <para>С</para>
165         <programlisting role="example"><![CDATA[
166 A=[0,1;0,0];
167 B=[1;1];
168 C=[1,1];
169 D=poly(0,'s');
170 P=syslin('c',A,B,C,D);
171  ]]></programlisting>
172     </refsection>
173     <refsection role="see also">
174         <title>Смотрите также</title>
175         <simplelist type="inline">
176             <member>
177                 <link linkend="poly">poly</link>
178             </member>
179         </simplelist>
180     </refsection>
181 </refentry>