- Manual Scilab
- Funções Elementares
- Matemática discreta
- Ponto flutuante
- Integer representation
- Trigonometria
- abs
- amell
- and
- binomial
- bitand
- bitor
- bloc2exp
- bloc2ss
- cat
- cell2mat
- cellstr
- char
- cumprod
- cumsum
- delip
- diag
- diff
- dsearch
- exp
- eye
- flipdim
- gsort
- imag
- imult
- ind2sub
- intersect
- inttrap
- isdef
- isempty
- isequal
- isequalbitwise
- isreal
- kron
- lex_sort
- linspace
- log
- log10
- log1p
- log2
- logm
- logspace
- lstsize
- max
- meshgrid
- min
- modulo
- ndgrid
- ndims
- nextpow2
- norm
- ones
- or
- pen2ea
- permute
- pertrans
- prod
- rand
- real
- resize_matrix
- setdiff
- sign
- signm
- size
- solve
- sqrt
- sqrtm
- squarewave
- ssrand
- sub2ind
- sum
- sysconv
- sysdiag
- syslin
- toeplitz
- trfmod
- trianfml
- tril
- trisolve
- triu
- typeof
- union
- unique
- vectorfind
- zeros
- &
- isvector
- |
Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
However, this page did not exist in the previous stable version.
bloc2exp
retorna a avaliação simbólica de um diagrama de blocos
Seqüência de Chamamento
[str]=bloc2exp(blocd) [str,names]=bloc2exp(blocd)
Parâmetros
- blocd
lista
- str
string
- names
string
Descrição
Dada uma representação em diagrama de blocos de um sistema linear
bloc2exp
retorna sua avaliação simbólica. O primeiro
elemento da lista blocd
deve ser o string (cadeia de
caracteres) 'blocd'
. Cada outro elemento desta lista
(blocd(2),blocd(3),...)
é, por si mesmo, uma lista de
um dos seguintes tipos :
list('transfer','nome_do_sistema_linear')
list('link','nome_da_ligação', [número_de_caixa_de_fluxo_superior,porta_da_caixa_de_fluxo_superior], [caixa_de_fluxo_inferior_1,número_de_porta_da_caixa_inferior_1], [caixa_de_fluxo_inferior_2,número_de_porta_da_caixa_inferior_2], ...)
Os strings 'transfer'
e
'links'
são palavras-chaves as quais indicam o tipo de
elemento no diagrama de blocos ("transfer"=transferência, "link"=
ligação).
Caso 1: o segundo parâmetro da lista é um string que pode se referir
(para uma possível avaliação posterior) ao nome Scilab de um sistema
linear dado em representação de estado-espaço (listasyslin
) ou em forma de trasnferência (matriz de razões de
polinômios).
A cada bloco de transferência é associado um inteiro. A cada entrada e saída de um bloco de transferência, também é associado seu número, um inteiro (ver exemplos).
Caso 2: O segundo tipo de elemento em uma representação de diagrama
de blocos é um link. Um link liga uma saída de um bloco representado pelo
par [
número_de_caixa_de_fluxo_superior,porta_da_caixa_de_fluxo_superior]
,
a diferentes entradas de outros blocos. Cada tal entrada é representada
pelo par [caixa_de_fluxo_inferior_i,número_de_porta_da_caixa_inferior_i]
.
Os diferentes elementos de um diagrama de blocos podem ser definidos em ordem arbitrária.
Por exemplo:
[1] S1*S2
com feedback (resposta) de
unidade.
Há 3 transferências S1
(número
n_s1=2
) , S2
(número
n_s2=3
) e um adicionador ("adder") (número
n_add=4
) com função de transferência simbólica
['1','1']
.
Há 4 ligações. O primeiro (de nome 'U'
) liga a
entrada (porta 0 de bloco fictício -1, omitido) à porta 1 do adicionador.
Os segundo e terceiro ligam respectivamente a porta (de saída) 1 do
adicionador à porta (de entrada) 1 do sistema S1
, e a
porta (de saída) 1 de S1
à porta (de entrada) 1 de
S2
. A quarta ligação (de nome 'Y'
)
liga a porta (de saída) 1 de S2
à saída (porta 0 do
bloco fictício -1, omitido) e à porta (de entrada) 2 do
adicionador.
//Inicialização syst=list('blocd'); l=1; // //Sistemas l=l+1;n_s1=l;syst(l)=list('transfer','S1'); //Sistema 1 l=l+1;n_s2=l;syst(l)=list('transfer','S2'); //Sistema 2 l=l+1;n_adder=l;syst(l)=list('transfer',['1','1']); //adicionador // //Links // Entradas -1 --> entrada 1 l=l+1;syst(l)=list('link','U',[-1],[n_adder,1]); // Internal l=l+1;syst(l)=list('link',' ',[n_adder,1],[n_s1,1]); l=l+1;syst(l)=list('link',' ',[n_s1,1],[n_s2,1]); // Saídas // -1 -> saída 1 l=l+1;syst(l)=list('link','Y',[n_s2,1],[-1],[n_adder,2]); //Chamada de avaliação w=bloc2exp(syst);
O resultado é o string:
w=-(s2*s1-eye())\s2*s1
.
Perceba que, chamado com dois agumentos de saída,
[str,names]= blocd(syst)
retorna em
names
a lista de nomes simbólicos dos links nomeados.
Isto é útil para definir nomes de entradas e saídas.
[2] segundo exemplo
//Inicialização syst=list('blocd'); l=1; //Sistema (planta de blocos 2x2) l=l+1;n_s=l;syst(l)=list('transfer',['P11','P12';'P21','P22']); //Controlador l=l+1;n_k=l;syst(l)=list('transfer','k'); //Links l=l+1;syst(l)=list('link','w',[-1],[n_s,1]); l=l+1;syst(l)=list('link','z',[n_s,1],[-1]); l=l+1;syst(l)=list('link','u',[n_k,1],[n_s,2]); l=l+1;syst(l)=list('link','y',[n_s,2],[n_k,1]); //Chamada de avaliação w=bloc2exp(syst);
Neste caso, o resultado é uma fórmula equivalente à usual:
P11+P12*invr(eye()-K*P22)*K*P21;
Ver Também
Autores
S. S., F. D. (INRIA)
<< bitor | Funções Elementares | bloc2ss >> |