Вы находитесь на странице: 1из 8

MATLAB / CONTROLO

MATLAB / CONTROLO
Funo de Transferncia -- Resposta Temporal -- Root-Locus

1 - Introduo
Este trabalho tem como principal objectivo a familiarizao dos alunos
com algumas das capacidades do MATLAB e da sua Control System
Toolbox.

2 - Apresentao do Matlab
O Matlab tendo uma interface simples e intuitiva, atravs de linha de
comandos, apresenta as seguintes caractersticas:
1. As Variveis so tratadas como escalares, vectores ou matrizes de uma
forma transparente. Pode-se pensar no MATrix LABoratory como
uma linguagem que foi criada para a manipulao de matrizes.
2. Tem funes predefinidas, que podem ser utilizadas para resolver
vrios tipos de problemas.
3. Considera de forma diferente os caracteres maisculos e minsculos
4. Dispe de um HELP a que se deve recorrer sempre que necessrio.
5. As funes de transferncia so definidas a partir dos polinmios do
numerador e denominador, os quais so representados por vectores
com os seus coeficientes.

3 - Trabalho a Efectuar
NOTA: Para que o aluno compreenda devidamente cada um dos
comandos do Matlab, necessrio que, antes de os utilizar, observe os
seus contedos recorrendo ao help.
Exemplo: se desejar saber o contedo de uma instruo, faa:
help nome da funo

MATLAB / CONTROLO

4 - Complexos e Matrizes
4.1 - Nmeros Complexos
O MATLAB trabalha com nmeros complexos. Por defeito as variveis i
e j esto definidas como 1 . Em engenharia electrotcnica utiliza-se
normalmente o smbolo j para a parte imaginria.
j
ans =
0 + 1.0000i
i
ans =
0 + 1.0000i
De notar que o MATLAB privilegia o smbolo i.
4.1.1 Representao dos nmeros complexos
O MATLAB pode representar graficamente os nmeros complexos.
a=2+3*j
b=3+4j
c=a+b
d=a*b
compass([a,b,c,d])
Nota: para apresentar a janela de grfico escrever `shg'. Para limpar a
janela de grfico escrever clg.
4.1.2 Ainda sobre nmeros complexos
Alguma teoria!
Se z um nmero complexo z = x + jy , ento a forma polar de z z = re j
onde r = x 2 + y 2 o comprimento do vector complexo z e o ngulo
de z, = tan 1 ( y / x ) (radianos).
O MATLAB lida com a forma exponencial (ou polar) de um nmero
complexo como com a forma cartesiana.
z = 1 + 2*j;
r = abs(z)
theta = angle(z)

MATLAB / CONTROLO
Agora, quer e j e r (cos + j sin ) dever ser igual a z.
w1 = r * e xp ( j * t h e t a )
w2 = r * ( c o s ( t h e t a ) + j * s i n ( t h e t a ) )
O MATLAB usa radianos para todas as funes trigonomtricas (no
existe modo de definio da grandeza angular como existe nas mquinas
calculadoras cientificas). Para converter um ngulo em radianos para
graus, ou vice-versa lembrar a frmula simples:
tg = theta*180/pi % radianos para graus
tr = tg*pi/180 % graus para radianos
4.2 - Matrizes
A = [0, 1<Enter>
-2, -3] <Enter>
Para matrizes pequenas, pode-se usar a sintaxe alternativa:

A=[0, 1; -2, -3]

4.2.1 Definio de Vectores


Os vectores definem-se de forma idntica s matrizes, assim pode-se
definir o vector linha b como
b=[1, 2]
e podemos definir o vector coluna c como

c=[3; 4]

4.2.2 Funes para Matrizes


O MATLAB bastante poderoso no clculo de operaes com matrizes,
o que o torna muito til em aplicaes onde se tm de resolver sistemas
de equaes.
Por exemplo, a matriz inversa, o seu determinante e os valores prprios
podem determinar-se facilmente

i n v( A )
det(A)
eig(A)

% A m a t r i z i n ve r s a d e A
% Determinante de A
% Valores prprios de A

MATLAB / CONTROLO
5 - Funo de transferncia
Considere a seguinte Funo de Transferncia :
G ( s) =

( s + 1)
( s + 1)
= 2
( s + 2)( s + 3) ( s + 5s + 6)

escreva no MATLAB:
num=[1 1]
den=[1 5 6]
em que num e den so vectores que contm os coeficientes dos
polinmios do numerador e do denominador da funo de transferncia.
Para obter a funo de transferncia de um sistema a partir da equao do
numerador e denominador, escreva:
s ys = t f ( n u m , d e n )
A varivel sys um objecto tipo funo de transferncia.
Para ver as propriedades dos sistemas lineares e invariantes no tempo
(LTI) escreva:
help ltiprops
b=roots(den)
Permite encontrar as razes do polinmio caracterstico.
c = p o l y( b )
Retorna o vector den.
[z,p,k]=tf2zp(num,den)
Permite obter os zeros, plos e o ganho da funo de transferncia.
[num,den]=zp2tf(z,p,k)
Transforma os zeros, plos e o ganho na funo de transferncia
correspondente.
[r,p,k]=residue(num,den)
Obtm os resduos, os plos e os termos constantes da expanso em
fraces parciais da funo de transferncia G(s).
Para obter a funo de transferncia em malha fechada quando a
realimentao negativa e unitria, escreva:
s ys 1 = f e e d b a c k ( s ys , 1 )
4

MATLAB / CONTROLO

Considere que G(s) a funo de transferncia da malha para a frente e


que H ( s) =

1
a funo de transferncia da malha de realimentao
s

negativa.
num1=[1]
den1=[1 0]
s ys 1 = t f ( n u m 1 , d e n 1 )
Para obter a Funo de Transferncia em malha fechada do sistema faa:
s ys m f = f e e d b a c k ( s ys , s ys 1 )
Confirme analiticamente o resultado obtido.
O MATLAB por defeito assume realimentao negativa. Se se pretende
saber a funo de transferncia do sistema com realimentao positiva
faz--se:
s ys m f r p = f e e d b a c k ( s ys , s ys 1 , + 1 )
Para conhecer outras funes relacionadas com a simplificao de
diagramas de blocos escreva:
help series
help parallel

6 - Resposta Temporal
Considere um sistema com a seguinte funo de transferncia :
G ( s) =

2
s + 2s + 2
2

s ys = t f ( [ 2 ] , [ 1 2 2 ] )
[ wn , z ] = d a m p ( s ys )
Permite determinar a frequncia natural no amortecida (wn) e o
coeficiente de amortecimento(z) do polinmio den.

MATLAB / CONTROLO
Desenhe o grfico da resposta temporal a uma entrada degrau unitrio,
escrevendo:
s t e p ( s ys )
Para obter a resposta temporal a uma entrada degrau com amplitude 5
durante 20 segundos, escreva:
s t e p ( 5 * s ys , 2 0 )
Desenhe o grfico da resposta temporal a uma entrada impulso,
escrevendo:
i m p u l s e ( s ys )
u=0:0.1:10;
u um vector com valores entre 0 e 10 com incrementos de 0.1. Observe
que o facto de ter concludo a instruo com ";" , tem como
consequncia a no visualizao do resultado da instruo.
l s i m ( s ys , u , u )
Esta instruo permite desenhar o grfico da resposta de um sistema a
entradas arbitrrias. Nesta situao, a entrada uma rampa unitria.
Altere a legenda no eixo das abcissas escrevendo:
xl a b e l ( T e m p o ( s e g ) )
Altere a legenda no eixo das ordenadas recorrendo a :
yl a b e l ( a m p l i t u d e )
Coloque um ttulo no grfico utilizando o seguinte comando:
title(Resposta Temporal)
Modifique o limite superior e inferior dos eixos usando:
a xi s ( [ 0 1 2 0 1 5 ] )

7 - Lugar Geomtrico das Razes


Considere a seguinte funo de transferncia em malha aberta,

MATLAB / CONTROLO
G ( s) H ( s ) =

s +1
s( s + 10)

que representada no MATLAB, como:


s ys = t f ( [ 1 1 ] , [ 1 1 0 0 ] )
Note que mesmo no aparecendo no denominador o 3 coeficiente, este
deve ser colocado, no seu vector representativo, como zero.
Obtenha o Root-Locus
r l o c u s ( s ys )
Determine as razes da equao caracterstica para k=10.
k=10
r = r l o c u s ( s ys , k )
Para determinar a localizao das razes de forma interactiva no Rootlocus, faa:
r l o c f i n d ( s ys )
Para determinar a localizao, no Root-locus, dos pontos com coeficiente
de amortecimento igual a 0.5 e frequncia natural no amortecida igual a
5 rad/s, faa:
s ys = t f ( [ 1 ] , [ 1 1 0 5 ] )
r l o c u s ( s ys )
sgrid(0.5,5)

MATLAB / CONTROLO
l t i vi e w
Interface do utilizador para estudar os sistemas LTI existentes no espao
de trabalho nas suas componentes de espao de estados, funo de
transferncia e ganho-zero-plo.

Вам также может понравиться