Sie sind auf Seite 1von 7

Laboratrio de Automao e Controle Prof. Dr.

Antnio Maia

Trabalho 0: Introduo ao Matlab

1 - Objetivo

Apresentar para o aluno as ferramentas bsicas do Matlab que sero utilizadas dentro do
contexto da disciplina de Laboratrio de Automao e Controle.

2 Matemtica elementar

Exemplo 1: Exemplo 4: Considere o polinmio do tipo


y=ax3+bx2+cx+d, com a=1, b=2, c=3 e d=4.
2*87.28-23/4+(256-13.67) Determinar as razes deste polinmio:
ans =
411.1400 roots([1 2 3 4]) <ENTER>
ans =
ans*2 -1.6506
ans = -0.1747 + 1.5469i
822.2800 -0.1747 - 1.5469i

Exemplo 2: Considere o polinmio do tipo Exemplo 5: Determine o polinmio cujas


y=ax2+bx+c, com a=1, b=2 e c=3. razes so:
Determinar as razes deste polinmio.
-1.6506
a=1 <ENTER> -0.1747 + 1.5469i
a= -0.1747 - 1.5469i
1
b=2 <ENTER> O polinmio pode ser determinado como
b= mostrado a seguir:
2
c=3 <ENTER> P=(x-R1)(x-R2)(x-R3)
c=
3 Em que R1, R2 e R3 representam as razes do
delta=b^2-4*a*c <ENTER> polinmio. Para determinar o polinmio P,
delta = pode ser utilizada a funo conv do Matlab.
-8
conv([1 1.6506],[1 0.1747-1.5469i])
x1=(-b+sqrt(delta))/(2*a) <ENTER> <ENTER>
x1 = ans =
-1.0000 + 1.4142i 1.0000 1.8253-1.5469i 0.2884-2.5533i

x2=(-b-sqrt(delta))/(2*a) <ENTER> conv(ans,[1 0.1747+1.5469i]) <ENTER>


x2 = ans =
-1.0000 - 1.4142i 1.0000 2.0000 3.0001 4.0001-0.0000i

Exemplo 3: Considere o polinmio do tipo O polinmio P ento:


y=ax2+bx+c, com a=1, b=2 e c=3.
Determinar as razes deste polinmio. P=1.000x3+2.000x2+3.0001x+(4.0001-0.0000i)

roots([1 2 3]) <ENTER> Para obter maiores informaes sobre a funo


ans = conv, digite na linha de comando help conv
-1.0000 + 1.4142i <ENTER>
-1.0000 - 1.4142i

2
Laboratrio de Automao e Controle Prof. Dr. Antnio Maia

3 Construo de grficos

Exemplo 1: Representar a funo y=x2 no 100


Grfico da funo y=x 2

plano cartesiano. Considerar os seguintes 90

valores para x: Valor inicial xi=0; Valor final 80

xf=10; Incremento x=1. 70

60

1 passo: Criar o vetor x (valores do eixo das 50

y
abscissas)
40

30
x=0:1:10 <ENTER> 20

x= 10

0 1 2 3 4 5 6 7 8 9 10 0
0 1 2 3 4 5 6 7 8 9 10
x

2 passo: Criar o vetor y (valores do eixo das


ordenadas) Exemplo 2: Representar as funes y= x2 e
y=x.^2 <ENTER> y= x2+40 em um mesmo plano cartesiano.
y= Considerar xi=0; xf=10 e x=1.
0 1 4 9 16 25 36 49 64 81 100
x=0:1:10 <ENTER>
3 passo: Apresentar os pontos obtidos em x=
um grfico. 0 1 2 3 4 5 6 7 8 9 10
plot(x,y) y1=x.^2 <ENTER>
y1 =
100 0 1 4 9 16 25 36 49 64 81 100
90

80
y2=x.^2+40 <ENTER>
70
y2 =
40 41 44 49 56 65 76 89 104 121 140
60

50

40

30
plot(x , y1 , ' k o - ' , x , y2 , ' r * -. ')
20

10
O termo que aparece entre aspas significa:
0 k: Cor da linha e marcadores (preto)
0 1 2 3 4 5 6 7 8 9 10
o: Tipo de marcador (crculo)
Para acrescentar linhas de grade: -: Estilo da linha (contnuo)
grid <ENTER>
Para acrescentar legenda:
Para acrescentar ttulo: legend('y=x^2','y=x^2+40',0) <ENTER>
title('Grfico da funo y=x^2') <ENTER>
140

Para acrescentar ttulo ao eixo x: y=x 2


y=x 2+40

xlabel('x') <ENTER>
120

100

Para acrescentar ttulo ao eixo y: 80


ylabel('y') <ENTER>
60

Resultado obtido depois das modificaes: 40

20

0
0 1 2 3 4 5 6 7 8 9 10

3
Laboratrio de Automao e Controle Prof. Dr. Antnio Maia

4 Trabalhando com funes de transferncia

Exemplo 1: Obtenha a resposta ao degrau Step Response


From: U(1)

unitrio em malha aberta da funo de


0.7

transferncia apresentada abaixo: 0.6

0.5

2
G(s) =

Amplitude
0.4

3s + 4

To: Y(1)
0.3

num=[2] <ENTER> 0.2

num = 0.1

2 0
den=[3 4] <ENTER> 0 1 2 3 4 5

Time (sec.)
6 7 8 9 10

den =
3 4
step(num,den) <ENTER> Exemplo 3: Obtenha a resposta da funo
abaixo em malha aberta, considerando uma
Step Response entrada do tipo u=sin(t), para t de 0 at 10, e
dt=0,5.
From: U(1)
0.5

0.45

0.4
1
G(s) =
2s + 3s + 4
0.35
2
0.3
Amplitude
To: Y(1)

0.25

0.2 num=[1]
0.15 num =
0.1 1
0.05
den=[2 3 4]
0
0 0.5 1 den =
1.5 2 2.5 3 3.5 4 4.5

Time (sec.)
2 3 4
planta=tf(num,den)
Exemplo 2: Obtenha a resposta ao degrau Transfer function:
unitrio em malha aberta da funo de 1
transferncia apresentada abaixo, para t de 0 ---------------
at 10, e dt=0,1. 2 s^2 + 3 s + 4

1 t=0:0.5:10;
G ( s) =
2s + 3
2 u=sin(t);
lsim(planta,u,t)
num=[1] <ENTER>
num = 0.3
Linear Simulation Results

1
den=[2 0 3] <ENTER> 0.2

den = 0.1

2 0 3
Amplitude

planta=tf(num,den) <ENTER>
To: Y(1)

Transfer function: -0.1

1 -0.2

--------- -0.3

2 s^2 + 3
-0.4
0 1 2 3 4 5 6 7 8 9 10

t=0:0.1:10; <ENTER> Time (sec.)

step(planta,t) <ENTER>

4
Laboratrio de Automao e Controle Prof. Dr. Antnio Maia

Exemplo 4: Obtenha a resposta da funo t=0:0.5:10;


abaixo em malha aberta, considerando uma u1=t.^2;
entrada do tipo u1=t2 e u2=t3, para t de 0 at u2=t.^3;
10, e dt=0,5. Apresentar as respostas em um y1=lsim(planta,u1,t);
mesmo grfico. y2=lsim(planta,u2,t);
plot(t , y1 , 'k o - ', t , y2 , ' r * -. ')
1 legend('u1=t^2','u2=t^3',0)
G ( s) =
s +s+2
2
450
u1=t2
num=[1] 400 u2=t3

num = 350

1 300
den=[1 1 2] 250
den =
1 1 2
200

planta=tf(num,den) 150

Transfer function: 100

1 50

----------- 0
0 1 2 3 4 5 6 7 8 9 10
s^2 + s + 2

5 Arquivos M de comandos

Quando a seqncia de comandos a ser executada muito grande ou quando se deseja


executar a mesma seqncia de comandos vrias vezes, esta tarefa pode se tornar muito
trabalhosa e repetitiva se realizada na janela de trabalho. Para evitar este tipo de problema, o
Matlab permite que a seqncia de comandos seja editada em um arquivo de texto simples e
depois executada na janela de trabalho como se os comandos tivessem sido ali realizados.
Este arquivo de texto denominado arquivo M de comandos.

Para criar um arquivo M de comandos basta clicar no menu FILE NEW M-FILE. A
seqncia de comandos poder ser digitada na nova janela que ser aberta.

Para executar os comandos preciso salvar o arquivo (menu FILE SAVE) e depois clicar
no menu TOOLS RUN. Caso seja desejada a execuo de apenas um trecho do arquivo M,
isto pode ser feito selecionando-se com mouse os comandos que devero ser executados e, em
seguida, pressionando-se a tecla F9.

Exemplo 1: Elaborar um arquivo M de comandos para determinar a resposta do sistema


mostrado abaixo a um degrau unitrio de entrada.

Na janela de trabalho Acessar o menu FILE NEW M-FILE na janela de trabalho.


Na nova janela aberta, acessar o menu FILE SAVE exemplo1.
A seqncia de comandos pode ento ser editada.

5
Laboratrio de Automao e Controle Prof. Dr. Antnio Maia

%Definindo a primeira funo de transferncia

num1=[1];
den1=[1 1];
FT1=tf(num1,den1);

%Definindo a segunda funo de transferncia

num2=[1];
den2=[1 4 0];
FT2=tf(num2,den2);

% Determinando a funo de transferncia de malha fechada

FTMF=FT1*FT2/(1+FT1*FT2);

%Determinando a resposta ao degrau unitrio

t=0:0.5:20; %Intervalo de simulao de 0s at 20s, com dt=0.5


y=step(FTMF,t); %Armazenando os resultados da simulao em y
plot(t,y,'ko-'); %Construindo um gfico com os resultados

% Acrescentando ttulos

hold on; % Conserva o ltimo grfico gerado possibilitanto o acrscimo de


informaes

title('Resposta ao degrau unitrio');


xlabel('Tempo (s)');
ylabel('Resposta');

Resposta ao degrau unitrio


1.4

1.2

0.8
Resposta

0.6

0.4

0.2

0
0 2 4 6 8 10 12 14 16 18 20
Tempo (s)

Exemplo 2: Elaborar um arquivo M de comandos para determinar a resposta do sistema


mostrado abaixo a uma rampa unitria de entrada.

6
Laboratrio de Automao e Controle Prof. Dr. Antnio Maia

Na janela de trabalho Acessar o menu FILE NEW M-FILE na janela de trabalho.


Na nova janela aberta, acessar o menu FILE SAVE exemplo1
A seqncia de comandos pode ento ser editada.

%Definindo a primeira funo de transferncia

num1=[1];
den1=[1 0];
FT1=tf(num1,den1);

%Definindo a segunda funo de transferncia

num2=[1];
den2=[2 5];
FT2=tf(num2,den2);

% Determinando a funo de transferncia de malha fechada utilizando a


funo feedback

FTMF=feedback(FT1*FT2,1);

%Determinando a resposta a rampa unitria

t=0:0.5:20; %Intervalo de simulao de 0s at 20s, com dt=0.5


u=t; % Definindo funo de entrada
y=lsim(FTMF,u,t); %Armazenando os resultados da simulao em y
plot(t,y,'kX--'); %Construindo um grfico com os resultados

% Acrescentando ttulos

hold on; % Conserva o ltimo grfico gerado possibilitando o acrscimo de


informaes

title('Resposta ao degrau unitrio');


xlabel('Tempo (s)');
ylabel('Resposta');
Resposta ao degrau unitrio
16

14

12

10
Resposta

0
0 2 4 6 8 10 12 14 16 18 20
Tempo (s)

7
Laboratrio de Automao e Controle Prof. Dr. Antnio Maia

6 Atividades propostas

6.1 - Calcule utilizando o Matlab:

a) A = R 2 + R R 2 + H 2 , considerando R=15 e H=36;

cos(4 y ) + sin( 2 x)
b) B = tan( y ) 4 x , considerando x=2 e y=4.
tan( xy )

6.2 Utilizando a funo roots, calcule as razes dos polinmios abaixo:

a) y=3x3+2x2+3x+1 b) y=12x4+5x3+3x2+34 c) y=x8+x5+3x-1

6.3 Determine os polinmios cujas razes so:

a) -1.4045; 0.2022 + 1.0135i; 0.2022 - 1.0135i


b) -0.8409 + 0.8683i; -0.8409 - 0.8683i; 0.5909 + 0.8231i; 0.5909 - 0.8231i
c) -0.6981 + 0.8587i; -0.6981 - 0.8587i; 0.6981 + 0.8587i; 0.6981 - 0.8587i

6.4 Representar as funes abaixo em um grfico:

a) y=x2+4x-3, com xi=0; xf=10 e x=0.5;


b) y=x3+x-3, com xi=0; xf=50 e x=1;
c) y1=x4-16 e y2= x3+x2-1 com xi=-10; xf=10 e x=0.5;
d) y1=x2-4; y2= x3-1 e y3= x4 com xi=0; xf=10 e x=0.2;

6.5 Determinar a resposta das funes de transferncia abaixo s entradas dadas:

C ( s) 2 1 C ( s) 2s + 3
a) = e R ( s ) = (Degrau); c) = 2 e r (t ) = sen(t ) ;
R ( s ) 3s + 4 s R ( s ) s + 3s + 4
C ( s) 1 1
b) = 2 e R( s ) = 2 (Rampa);
R( s) s + s + 4 s

6.6 Elaborar um arquivo M de comandos para simular o sistema abaixo:

R(s) A(s) B(s) C(s)

H(s)

1 1 1
a) A( s ) = ; B( s ) = ; H ( s ) = 1 ; R( s ) = ; c(t ) = ?
s 2s + 3 s
1 4 1
b) A( s ) = 2 ; B( s) = ; H ( s ) = 1 ; R( s ) = ; c(t ) = ?
s + 3s + 1 2s + 1 s
s +1 1 1 1
c) A( s ) = 2 ; B( s) = ; H (s) = ; R( s ) = 2 ; c(t ) = ?
s +s+4 s +1 s +1 s
s +1 1 1 1
d) A( s) = 2 ; B( s ) = 2 ; H ( s) = ; R( s) = ; c(t ) = ?
s +s+4 s +2 s s

Das könnte Ihnen auch gefallen