1
<?xml version="1.0" encoding="ISO-8859-1"?>
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
7
* This file must be used under the terms of the CeCILL.
8
* This source file is licensed as described in the file COPYING, which
9
* you should have received as part of this distribution. The terms
10
* are also available at
11
* http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
14
<refentry version="5.0-subset Scilab" xml:id="bloc2exp" xml:lang="en"
15
xmlns="http://docbook.org/ns/docbook"
16
xmlns:xlink="http://www.w3.org/1999/xlink"
17
xmlns:svg="http://www.w3.org/2000/svg"
18
xmlns:ns5="http://www.w3.org/1999/xhtml"
19
xmlns:mml="http://www.w3.org/1998/Math/MathML"
20
xmlns:db="http://docbook.org/ns/docbook">
22
<pubdate>$LastChangedDate$</pubdate>
26
<refname>bloc2exp</refname>
28
<refpurpose>retorna a avalia��o simb�lica de um diagrama de
33
<title>Seq��ncia de Chamamento</title>
35
<synopsis>[str]=bloc2exp(blocd)
36
[str,names]=bloc2exp(blocd)</synopsis>
40
<title>Par�metros</title>
70
<title>Descri��o</title>
72
<para>Dada uma representa��o em diagrama de blocos de um sistema linear
73
<literal>bloc2exp</literal> retorna sua avalia��o simb�lica. O primeiro
74
elemento da lista <literal>blocd</literal> deve ser o string (cadeia de
75
caracteres) <literal>'blocd'</literal>. Cada outro elemento desta lista
76
<literal>(blocd(2),blocd(3),...)</literal> �, por si mesmo, uma lista de
77
um dos seguintes tipos :</para>
81
list('transfer','nome_do_sistema_linear')
87
list('link','nome_da_liga��o',
88
[n�mero_de_caixa_de_fluxo_superior,porta_da_caixa_de_fluxo_superior],
89
[caixa_de_fluxo_inferior_1,n�mero_de_porta_da_caixa_inferior_1],
90
[caixa_de_fluxo_inferior_2,n�mero_de_porta_da_caixa_inferior_2],
95
<para>Os strings <literal>'transfer'</literal> e
96
<literal>'links'</literal> s�o palavras-chaves as quais indicam o tipo de
97
elemento no diagrama de blocos ("transfer"=transfer�ncia, "link"=
100
<para>Caso 1: o segundo par�metro da lista � um string que pode se referir
101
(para uma poss�vel avalia��o posterior) ao nome Scilab de um sistema
102
linear dado em representa��o de estado-espa�o (lista<literal>
103
syslin</literal> ) ou em forma de trasnfer�ncia (matriz de raz�es de
106
<para>A cada bloco de transfer�ncia � associado um inteiro. A cada entrada
107
e sa�da de um bloco de transfer�ncia, tamb�m � associado seu n�mero, um
108
inteiro (ver exemplos).</para>
110
<para>Caso 2: O segundo tipo de elemento em uma representa��o de diagrama
111
de blocos � um link. Um link liga uma sa�da de um bloco representado pelo
113
n�mero_de_caixa_de_fluxo_superior,porta_da_caixa_de_fluxo_superior]</literal>,
114
a diferentes entradas de outros blocos. Cada tal entrada � representada
115
pelo par [caixa_de_fluxo_inferior_i,n�mero_de_porta_da_caixa_inferior_i]
118
<para>Os diferentes elementos de um diagrama de blocos podem ser definidos
119
em ordem arbitr�ria.</para>
121
<para>Por exemplo:</para>
123
<para>[1] <literal>S1*S2</literal> com feedback (resposta) de
126
<para>H� 3 transfer�ncias <literal>S1</literal> (n�mero
127
<literal>n_s1=2</literal>) , <literal>S2</literal> (n�mero
128
<literal>n_s2=3</literal>) e um adicionador ("adder") (n�mero
129
<literal>n_add=4</literal>) com fun��o de transfer�ncia simb�lica
130
<literal>['1','1']</literal>.</para>
132
<para>H� 4 liga��es. O primeiro (de nome <literal>'U'</literal>) liga a
133
entrada (porta 0 de bloco fict�cio -1, omitido) � porta 1 do adicionador.
134
Os segundo e terceiro ligam respectivamente a porta (de sa�da) 1 do
135
adicionador � porta (de entrada) 1 do sistema <literal>S1</literal>, e a
136
porta (de sa�da) 1 de <literal>S1</literal> � porta (de entrada) 1 de
137
<literal>S2</literal>. A quarta liga��o (de nome <literal>'Y'</literal>)
138
liga a porta (de sa�da) 1 de <literal>S2</literal> � sa�da (porta 0 do
139
bloco fict�cio -1, omitido) e � porta (de entrada) 2 do
145
syst=list('blocd'); l=1;
148
l=l+1;n_s1=l;syst(l)=list('transfer','S1'); //Sistema 1
149
l=l+1;n_s2=l;syst(l)=list('transfer','S2'); //Sistema 2
150
l=l+1;n_adder=l;syst(l)=list('transfer',['1','1']); //adicionador
153
// Entradas -1 --> entrada 1
154
l=l+1;syst(l)=list('link','U',[-1],[n_adder,1]);
156
l=l+1;syst(l)=list('link',' ',[n_adder,1],[n_s1,1]);
157
l=l+1;syst(l)=list('link',' ',[n_s1,1],[n_s2,1]);
158
// Sa�das // -1 -> sa�da 1
159
l=l+1;syst(l)=list('link','Y',[n_s2,1],[-1],[n_adder,2]);
160
//Chamada de avalia��o
165
<para>O resultado � o string:
166
<literal>w=-(s2*s1-eye())\s2*s1</literal>.</para>
168
<para>Perceba que, chamado com dois agumentos de sa�da,
169
<literal>[str,names]= blocd(syst)</literal> retorna em
170
<literal>names</literal> a lista de nomes simb�licos dos links nomeados.
171
Isto � �til para definir nomes de entradas e sa�das.</para>
173
<para>[2] segundo exemplo</para>
178
syst=list('blocd'); l=1;
180
//Sistema (planta de blocos 2x2)
181
l=l+1;n_s=l;syst(l)=list('transfer',['P11','P12';'P21','P22']);
184
l=l+1;n_k=l;syst(l)=list('transfer','k');
187
l=l+1;syst(l)=list('link','w',[-1],[n_s,1]);
188
l=l+1;syst(l)=list('link','z',[n_s,1],[-1]);
189
l=l+1;syst(l)=list('link','u',[n_k,1],[n_s,2]);
190
l=l+1;syst(l)=list('link','y',[n_s,2],[n_k,1]);
191
//Chamada de avalia��o
196
<para>Neste caso, o resultado � uma f�rmula equivalente � usual:</para>
198
<para><literal>P11+P12*invr(eye()-K*P22)*K*P21;</literal></para>
202
<title>Ver Tamb�m</title>
204
<simplelist type="inline">
205
<member><link linkend="bloc2ss">bloc2ss</link></member>
210
<title>Autores</title>
212
<para>S. S., F. D. (INRIA)</para>