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

APOSTILA DE MODELAGEM MATEMTICA E SIMULAO COMPUTACIONAL

e-mail:elenilton@bol.com.br

Prof. Dsc. Elenilton Teodoro Domingues

2011 Aracaju, Agosto

SUMRIO
1. 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.6.1. 1.6.2. 1.6.3. 1.6.4. 1.6.5. 1.7. 1.7.1. 1.7.2. 1.7.3. 1.8. 1.8.1. 2. 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 2.9. 2.10. 2.11. 2.12. 2.13. 2.14. 2.15. 2.16. 2.17. 2.18. 2.19. 2.20. 2.21. 2.22. 2.23. 2.24. 2.25. 2.26. 2.27. 3. 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 3.10. 3.11. INTRODUO AO MATLAB ........................................................................................................................................................... 3 INTRODUO................................................................................................................................................................................... 3 VANTAGENS DO MATLAB .................................................................................................................................................................. 3 DESVANTAGENS DO MATLAB ............................................................................................................................................................ 3 O AMBIENTE MATLAB ....................................................................................................................................................................... 3 A REA DE TRABALHO MATLAB......................................................................................................................................................... 4 CONCEITOS, COMANDOS E SIMBOLOGIA DO MATLAB ....................................................................................................................... 5 COMANDOS E SIMBOLOGIA .............................................................................................................................................................. 5 COMANDOS, VARIVEIS E SMBOLOS ESPECIAIS............................................................................................................................... 7 CONSTANTES ................................................................................................................................................................................... 7 OPERAES ARITMTICAS BSICAS ................................................................................................................................................. 7 FUNES MATEMTICAS COMUNS(OBS: ALGUM EXEMPLOS) ............................................................................................................. 8 COMANDOS CARACTERSTICOS DE JANELA ....................................................................................................................................... 8 COMANDOS DO WORKSPACE ............................................................................................................................................................ 8 COMANDOS FORMATOS DE EXIBIO DE NMEROS ......................................................................................................................... 9 COMANDOS RELACIONADOS A ARQUIVOS E DADOS .......................................................................................................................... 9 MATRIZES ........................................................................................................................................................................................ 9 ENTRADA DE DADOS ........................................................................................................................................................................ 9 TRANSFORMADA DE LAPLACE ....................................................................................................................................................10 TRANSFORMADA DE LAPACE............................................................................................................................................................10 TRANSFORMADA DE LAPLACE DE ALGUMAS FUNES COM O MATLAB .............................................................................................10 FUNO EXPONENCIAL ...................................................................................................................................................................10 FUNO DEGRAU ............................................................................................................................................................................11 FUNO RAMPA ..............................................................................................................................................................................11 FUNO SENO ................................................................................................................................................................................12 FUNO COSENO ............................................................................................................................................................................13 FUNO PULSO OU GATE ................................................................................................................................................................14 FUNO IMPULSO ...........................................................................................................................................................................14 ALGUMAS PROPIEDADES DA TRANSFORMADA DE LAPLACE COM MATLAB .........................................................................................15 LINEARIDADE..................................................................................................................................................................................15 MULTIPLICAO DE UMA F(T) POR ....................................................................................................................................... 15 MULTIPLICAO DE UMA F(T) POR tn ...............................................................................................................................................15 TRANSFORMADA DE LAPLACE DE DERIVADAS ..................................................................................................................................16 TRANSFORMADA DE LAPLACE DE INTEGRAIS ...................................................................................................................................16 REPRESENTAO DE ALGUMAS FUNES COM O MATLAB ................................................................................................................17 FUNO EXPONENCIAL ...................................................................................................................................................................17 FUNO RAMPA ..............................................................................................................................................................................17 FUNO ACELERAO .....................................................................................................................................................................17 FUNO SENO ................................................................................................................................................................................17 FUNO COSSENO REPRESENTADA NO MATLAB ..............................................................................................................................18 TRANSFORMADA INVERSA DE LAPLACE............................................................................................................................................18 TRANSFORMADA INVERSA DE LAPLACE COM O MATLAB ...................................................................................................................18 EXPANSO EM FRAES PARCIAIS COM O MATLAB ..........................................................................................................................20 DETERMINAO DOS ZEROS E PLOS DE B(S)/A(S) .........................................................................................................................23 TEOREMA DO VALOR INICIAL (TVI) .................................................................................................................................................25 TEOREMA DO VALOR FINAL (TVF)....................................................................................................................................................25 MODELAGEM MATEMTICA .........................................................................................................................................................27 CONTROLE CLSSICO: FUNO DE TRANSFERNCIA ........................................................................................................................27 REPRESENTAO DA FUNO DE TRANSFERNCIA ..........................................................................................................................27 REPRESENTAO DA FUNO DE TRANSFERNCIA COM O MATLAB..................................................................................................28 COMANDOS PARA OBTER A RESPOSTA TEMPORAL ...........................................................................................................................31 SISTEMAS ELTRICOS .....................................................................................................................................................................36 CIRCUITOS COMPLEXOS VIA MTODO DAS MALHAS.........................................................................................................................37 SISTEMAS MECNICOS ....................................................................................................................................................................38 REPRESENTAO DE ESPACO DE ESTADOS ......................................................................................................................................40 MODELAGEM POR VARIVEIS DE ESTADO ........................................................................................................................................40 REPRESENTAO DE ESPAO DE ESTADOS COM O MATLAB .............................................................................................................43 TRANFORMAO LINEARES DE SISTEMAS ........................................................................................................................................ 44

et

4. 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 4.9. 4.10.

DIGRAMA DE BLOCOS .................................................................................................................................................................47 INTRODUO: DIGRAMA DE BLOCOS...............................................................................................................................................47 COMPONENTES DOS DIGRAMA DE BLOCOS ......................................................................................................................................47 BLOCO FUNCIONAL .........................................................................................................................................................................47 PONTO DE SOMA OU DETECTOR DE ERRO .......................................................................................................................................47 PONTO DE JUNO OU DERIVAO .................................................................................................................................................48 REDUO DE DIGRAMAS DE BLOCOS...............................................................................................................................................48 REDUO DE DIGRAMAS DE BLOCOS COM O MATLAB ......................................................................................................................48 BLOCOS EM SRIE COM MATLAB .....................................................................................................................................................48 BLOCOS EM PARALELO COM MATLAB ...............................................................................................................................................51 REALIMENTAO (FEEDBACK) .........................................................................................................................................................52

5. 5.1. 5.2.

RESPOSTA TRANSITRIA............................................................................................................................................................59 INTRODUO..................................................................................................................................................................................59 RESPOSTA AO DEGRAU ...................................................................................................................................................................61

ii

CAPTULO 1 1. INTRODUO AO MATLAB


1.1. INTRODUO MATLAB (que abrevia MATrix LABoratory - Laboratrio de Matrizes) um programa de computador especializado e otimizado para clculos cientficos e de engenharia. O programa MATLAB implementa a linguagem de programao MATLAB, juntamente com uma grande biblioteca de funes predefinidas que tornam as tarefas de programao tcnica mais fceis e eficientes. MATLAB um programa muito grande, com uma rica variedade de funes. At mesmo a verso bsica do MATLAB, sem ferramentas adicionais, muito mais rica que outras linguagens de programao tcnica. Existem mais de 1.000 funes no produto MATLAB, e as ferramentas adicionais ampliam esses recursos com muito mais funes em diferentes especialidades. 1.2. VANTAGENS DO MATLAB MATLAB tem muitas vantagens, em comparao com linguagens computacionais convencionais, para resolver problemas tcnicos. Dentre elas, temos: 1. Facilidade de Uso 2. Independncia de Plataforma 3. Funes Predefinidas 4. Desenhos Independentes de Dispositivos 5. Interface Grfica de Usurio 6. O Compilador MATLAB 1.3. DESVANTAGENS DO MATLAB MALTLAB tem duas desvantagens principais. Primeiro, ele uma linguagem interpretada, por isso pode ser mais lento que linguagens compiladas e a segunda desvantagem o custo: uma cpia completa do MATLAB de cinco a dez vezes mais cara que um compilador convencional C ou Fortran. 1.4. O AMBIENTE MATLAB A unidade fundamental de dados em qualquer programa MATLAB a matriz. Uma matriz uma coleo de valores de dados organizados em linhas e colunas, determinada por um nome nico. Na execuo do MATLAB podem ser exibidas janelas de diferentes tipos, as quais aceitam comandos ou exibem informaes. Os trs tipos mais importantes de janelas so Janela de Co-

mandos, onde podem ser colocados comandos; Janela de Figuras, que exibem desenhos e grficos; e Janelas de Edio / Depurao, que permitem a um usurio criar e modificar programas MATLAB. Vamos ver exemplos desses trs tipos de janelas na presente seo.

1.5. A REA DE TRABALHO MATLAB Ao iniciar o MATLAB Verso 6, aparece uma janela especial denominada rea de trabalho MATLAB. A configurao inicial da rea de trabalho MATLAB exibida na Figura 1.1.

Figura 1.1 - A rea de trabalho MATLAB. A aparncia exata da janela pode diferir ligeiramente em diferentes tipos de computador. Ela integra diversas ferramentas para gerenciar arquivos, variveis e aplicaes dentro do ambiente MATLAB. As principais ferramentas presentes na rea de trabalho MATLAB, ou que podem ser acessadas a partir dela, so as seguintes:

Janela de Comandos O lado direito da rea de trabalho MATLAB contm a Janela de Comandos. Um usurio pode inserir comandos interativos pelo marcador de comandos (), na Janela de Comandos, e eles sero executados de imediato. Janela de Histrico de Comandos A Janela de Histrico de Comandos exibe uma lista dos comandos que um usurio inseriu na Janela de Comandos. Espao de lanamento O Espao de Lanamento uma ferramenta especial que agrupa referncias a documentao, demonstraes e ferramentas relacionadas para o prprio MATLAB e para cada conjunto de ferramentas que voc adquire. Janela de Edio / Depurao Uma Janela de Edio/Depurao usada para criar novos arquivos M ou modificar os j existentes. Voc pode criar um novo arquivo M selecionando File/New/M-file no menu da rea de trabalho, ou clicando sobre o cone na Barra de Ferramentas. Janela de Figuras Uma Janela de Figuras usada para exibir grficos MATLAB. Uma figura pode ser a representao grfica bidimensional ou tridimensional de dados, uma imagem ou uma GUI. Navegador do Espao de Trabalho e Editor de Matrizes Um espao de trabalho a coleo de todas as variveis e matrizes que podem ser usadas pelo MAT quando um comando, arquivo M ou funo em particular est em execuo. Navegador de Ajuda Voc pode obter ajuda no MATLAB de trs maneiras. O mtodo preferido utilizar o Navegador de Ajuda. Voc pode iniciar o Navegador de Ajuda selecionando o cone de Ajuda ? localizado na barra de ferramentas, ou digitando helpdesk ou helpwin na janela de Comandos.

1.6. CONCEITOS, COMANDOS E SIMBOLOGIA DO MATLAB 1.6.1. COMANDOS E SIMBOLOGIA Todos os arquivos com extenso m so executveis no MATLAB, os comandos podem ser editados no editor deste software (de preferncia) ou em outro editor de texto como o editor edit do DOS.

M-file editor: editor de documentos do MATLAB, onde voc pode digitar programas salvando-os em arquivos com extenso m (tornando estes arquivos executveis). Para acionar o editor de textos dentro do prprio Matlab, acione sequencialmente, as opes do menu: File New Blank M-File

Dentro do MATLAB voc pode usar comandos semelhantes ao do DOS ou interagir com eles, a seguir vem alguns deles: addpath dir1: faz com que voc possa, posteriormente, executar ou carregar um arquivo gravado no diretrio dir1. cd: mostra o corrente diretrio que voc est trabalhando. delete( nome arquivo): apaga o nome do arquivo especificado. Workspace: janela que se abre para mostrar o nome e caractersticas das variveis usadas no MATLAB num determinado instante. Por exemplo, quando se usa os comandos who ou whos esta janela acionada. Tambm pode ser usado o cone ( semelhante a um cubo) do Workspace browser para executar essa tarefa. Comand history: mostra os ltimos comandos digitados. Path browser: muda o path (o caminho), onde so lidos os arquivos no MATLAB . Palavras em negrito: representa termos e fatos importantes. Palavras em negrito itlico: novos termos. Palavras em negrito na inicial dos nomes: nomes de teclas, menus, itens de menus, nome de funes , arquivos e comandos. Palavras em itlico: ttulos de livros, empresas, etc.

1.6.2. COMANDOS, VARIVEIS E SMBOLOS ESPECIAIS Comandos no Matlab: so editados em letras minsculas. Nome de variveis: o nome de uma varivel pode ser definido como uma letra ou um conjunto de caracteres, havendo o caso sensitivo, isto , uma varivel em letra minscula diferente daquela mesma em letra maiscula Se for usar mais de uma palavra para representar uma varivel, deve ser usado o sinal de sublinhado para ligar os nomes que representaro a varivel. Exemplo de nomes de variveis: a, A, preo1, val3, custo_mdio, preo_de_venda, etc. ; : suprime a impresso de resultados. % : serve para se colocar um comentrio. ... :indica que uma linha continuao de uma linha anterior. ans: varivel usada para assumir o resultado referente ao ltimo comando. inf: infinito(exemplo: digite 1/0). NaN: indeterminao(exemplo: digite 0/0). ctrl c: interrompe comandos do MATLAB. ! : seguida de um comando do DOS, acionar este comando digitado. clc : limpa a tela(semelhante ao comando CLS do DOS).

1.6.3. CONSTANTES pi: 3,1416... eps: 2,22 x 10-14 i = 1 j = 1

1.6.4. OPERAES ARITMTICAS BSICAS

Smbolo + * / .* ./ \

Operao soma subtrao multiplicao normal de matrizes diviso normal de matrizes multiplicao elemento a elemento diviso elemento a elemento

Exemplo 5+3 62 6*5 6/5

diviso esquerda(exemplo: 5\25 tem o mesmo efeito que 25/5 que resulta: ans = 5)

1.6.5. FUNES MATEMTICAS COMUNS(OBS: ALGUM EXEMPLOS) abs(x) acos(x) cos(x) cosh(x) exp(x) gcd(x, y) imag(x) lcm(x, y) log(x) log10(x) real(x) round (x) sin(x) sinh(x) sqrt(x) tan(x) mdulo de x arco cujo coseno x coseno de x ( x em radianos) coseno hiperblico de x exponencial : ex MDC dos inteiros x e y parte imaginria de um complexo MMC dos inteiros x e y logaritmo natural de x logaritmo de x na base 10 parte real de x arredonda o valor de x seno de x (em radianos) seno hiperblico de x raiz quadrada de x tangente de x

1.7. COMANDOS CARACTERSTICOS DE JANELA 1.7.1. COMANDOS DO WORKSPACE who : exibe o nome das variveis usadas. whos: exibe na tela os nomes, dimenso, nmero de bytes e tipos das variveis que esto sendo usadas no momento. what: exibe arquivos de extenso .m e .mat do diretrio corrente. disp n: exibe o contedo da varivel n sem mostrar seu nome. clear n: apaga a varivel n. clear: apaga todas as variveis. [x, y] = ginput(n): permite que voc entre com os pares ordenados (x, y) por meio do mouse, escolha com o mouse cada ponto na janela que aparecer na tela, sendo que n representa o nmero de pontos a serem determinados. input ('...'): usado para entrada de dados exemplo: n = input ('digite um nmero _') O nmero que voc digitar ser assumido pela varivel n. pause: serve para pausar um comando de exibio do Matlab. pause(n): pausa por n segundos. echo on: na execuo de um programa executvel, gravado num arquivo .m, o uso desta opo permite a exibio, na tela, dos comandos usados no seu programa, para desativar este opo usa-se o comando echo off. break: termina a execuo de um loop while ou for.

1.7.2. COMANDOS FORMATOS DE EXIBIO DE NMEROS Supondo a = 1/3, quando usamos: format short: resultar: a = 0,3333,ou seja, quatro casas decimais( o default). format short e: teremos: a = 3.3333e-001, ou seja, quatro casas decimais e em notao exponencial(que significa 3.3333 x 10-1). format short g: teremos: a = 0.33333, com cinco casas decimais. format long: teremos a = 0.33333333333333, com catorze casas decimais. format long e: teremos a = 3.333333333333333e-001, com catorze casas decimais mais o expoente . format hex: teremos: a = 3fd5555555555555 (formato hexadecimal) format bank: teremos: a = 0.33, ou seja, dois dgitos decimais (no formato monetrio). format: volta ao formato normal que equivale ao format short.

1.7.3. COMANDOS RELACIONADOS A ARQUIVOS E DADOS save: salva todas as variveis que esto sendo usadas naquele momento, no formato binrio num arquivo com extenso mat no MATLAB. save data: salva todas as variveis no arquivo data.mat. save data a, b, c: salva as variveis a, b, c no arquivo data.mat. load filename: carrega as variveis salvas com o comando save no arquivo especificado. file print: use esses comandos do menu para imprimir o contedo atual da janela ativ

1.8. MATRIZES 1.8.1. ENTRADA DE DADOS Para separar os elementos de uma dada matriz usa- se o espao em branco ou ento vrgulas e para mudar de linha usa- se "; " ou a tecla <ENTER> . Exemplo: a = [1 2 3; 4 5 6; 7 8 9]; <Enter> ou a = [1,2,3; 4,5,6; 7,8,9]; <Enter> ou ainda, a = [1 2 3 <Enter> 4 5 6 <Enter> 7 8 9];

CAPTULO 2 2. TRANSFORMADA DE LAPLACE


2.1. TRANSFORMADA DE LAPACE Inicialmente, apresentaremos a definio da Transformada de Laplace e em seguida, mostraremos exemplos no Matlab e no Simulink da Transformada de Laplace de algumas funes comumente utilizadas. A Transformada de Laplace de f(t) definida por:

L[f(t)] = F(s) =

e st dt f(t) =

f(t) e st dt

2.2. TRANSFORMADA DE LAPLACE DE ALGUMAS FUNES COM O MATLAB 2.3. FUNO EXPONENCIAL A funo exponencial definida como:
0 f(t) = t A e

p/ t <0 p/ t 0

Onde A e so constantes.

f(t) = A e t

F(s) =

A (s + )

A transformada de Laplace pode ser obtida atravs do Matlab: syms t s A f = A*exp(-a*t) F = laplace(f ) pretty(F) syms t s A a f = A/(s+a) F = ilaplace(f ) pretty(F)

Transformada direta

f(t) = A e

a t

Transformada inversa

F(s) =

A (s + a)

10

Exemplo numrico: syms t s f = 3*exp(-6*t) F = laplace(f ) pretty(F) syms t s f = 3/(s+6) F = ilaplace(f ) pretty(F)

Transformada direta

f(t) = 3 e

6 t

Transformada inversa

F(s) =

3 (s + 6)

2.4. FUNO DEGRAU A funo degrau definida como:

0 f(t) = A

p/ t <0 p/ t 0

Onde A constante.

f(t) = A

F(s) =

A s

Obs: A transformada de Laplace de uma funo degrau no da para ser obtida atravs do Matlab.

2.5. FUNO RAMPA

A funo rampa definida por:

0 f(t) = A t

p/ t <0 p/ t 0

Onde A constante.

f(t) = A t

F(s) =

A s2

11

A transformada de Laplace pode ser obtida atravs do Matlab: syms t s A f = A*t F = laplace(f) pretty(F) syms t s A f = A/(s^2) F = ilaplace(f ) pretty(F)

Transformada direta

f(t) = A t

Transformada inversa

f(t) =

A s2

Exemplo numrico: syms t s f = 3*t F = laplace(f ) pretty(F) syms t s f = 3/s^2 F = ilaplace(f ) pretty(F)

Transformada direta

f(t) = 3 t

Transformada inversa

f(t) =

3 s2

2.6. FUNO SENO

A funo seno definida como:

0 f(t) = A sen(t)
Onde: A e so constantes.
A

p/ t < 0 p/ t 0

Amplitude da forma da onda. Freqncia da forma da onda.

f(t) = A sen(t)

F(s) =

A s + 2
2

A transformada de Laplace pode ser obtida atravs do Matlab: syms t s A w f = A*sin(w*t) F = laplace(f) pretty(F) syms t s A w f = A*w /(s^2+w^2) F = ilaplace(f ) pretty(F)

Transformada direta

f(t) = A sen(t)

Transformada inversa

F(s) =

A s + 2
2

12

Exemplo numrico: syms t s f = 5*sin (4*t) F = laplace(f) pretty(F) syms t s f = 8/(s^2+4) F = ilaplace(f ) pretty(F)

Transformada direta

f(t) = 5 sen(4t)

Transformada inversa

f(t) =

8 s +4
2

2.7. FUNO COSENO

A funo cosseno definida como:

0 f(t) = A cos(t)
Onde: A e so constantes.
A

p/ t < 0 p/ t 0

Amplitude da forma da onda. Freqncia da forma da onda.

f(t) = A cos(t)

F(s) =

As s + 2
2

A transformada de Laplace pode ser obtida atravs do Matlab: syms t s A w f = A*cos(w*t) F = laplace(f) pretty(F) syms t s A w f = A*s /(s^2+w^2) F = ilaplace(f ) pretty(F)

Transformada direta

f(t) = A cos(t)

Transformada inversa

F(s) =

As s 2 + 2

Exemplo numrico: syms t s f = 5*cos(4*t) F = laplace(f) pretty(F) syms t s f = 3*s/(s^2+4) F = ilaplace(f ) pretty(F)

Transformada direta

f(t) = 5 cos(4t)

Transformada inversa

f(t) =

3s s +4
2

13

2.8. FUNO PULSO OU GATE

A funo pulso definida como:

0 u(t) = A 0

p/ t <0 p/ 0 t < p/ t >

Onde: A uma constante.

f(t) = A A u(t )

F(s) =

A 1 - e - s s

Obs: A transformada de Laplace de uma funo pulso no da para ser obtida atravs do Matlab.

2.9. FUNO IMPULSO

A funo impulso definida como:

(t)

0 1 lim t 0 t 0

p/ t < 0 p / 0 t < t p / t > t

L[(t)] = 1

Obs: A transformada de Laplace de uma funo impulso no da para ser obtida atravs do Matlab.

14

2.10. ALGUMAS PROPIEDADES DA TRANSFORMADA DE LAPLACE COM MATLAB 2.11. LINEARIDADE

L[C1 f(t) + C2 g(t)] = L[C1 f(t)] + L[C2 g(t)] = C1 L[f(t)] + C2 L[g(t)]


Exemplos: disp('Exemplo 01') syms t s f = 2*sin(3*t) - 4*cos(2*t) pretty(f) F = laplace(f) pretty(F) disp('Exemplo 02') syms t s f = 2*exp(-3*t)+ 5*sin(t) - 7*t pretty(f) F = laplace(f) pretty(F)

a) L[2 sen(3t) - 4 cos(2t)]

b) L[2e-3t + 5sen(t) - 7t]

2.12. MULTIPLICAO DE UMA F(T) POR e

L[e-t f(t)] =

e-t f(t)dt = F(s + )

Exemplos: disp('Exemplo 01') syms t s a w f = exp(-a*t) * cos(w*t) pretty(f) F = laplace(f) pretty(F) disp('Exemplo 02') syms t s f = exp(2*t)* sin(3*t) pretty(f) F = laplace(f) pretty(F)

a) L[e t cos(t)]

b) L[e2t sen(3t)]

2.13. MULTIPLICAO DE UMA F(T) POR tn

L[tn f(t)] = (1)n

dnF(s) ds
n

Dica:

f f ' g - g' f = g g2

L[tn e-t ] =

n! (s + )n+1

Onde : (n=1,2,3,......)

15

Exemplos: % Exemplo 01 disp('Exemplo 01') syms t s f = t^2 * exp(5*t) pretty(f) F = laplace(f) pretty(F) disp(' ') disp('Exemplo 02') syms t s f = t^2 * sin(t) pretty(f) F = laplace(f) pretty(F)

2 5t a) L[t e ]

b) L[t2 sen(t)]

2.14. TRANSFORMADA DE LAPLACE DE DERIVADAS

Se existe a Transformada de f(t) e de f(t), ento a T.L. de f(t) ser obtida como:

L[f '(t)] = sF(s) f(0)


Similarmente para a derivada n-sima de f(t):

dn [f(t)] n n-1 n-2 n-2 n-1 L = s F(s) - s f(0) - s f '(0) + + sf (0) - f (0) n dt Se as condies iniciais forem iguais a zero teremos: dn [f(t)] n L = s F(s) dtn
2.15. TRANSFORMADA DE LAPLACE DE INTEGRAIS

Se existe a Transformada de f(t), ento a T.L. da integral de f(t) ser obtida como:

1 f (0) F(s) + f(t)dt = 0 s s t

Se as condies iniciais forem iguais a zero teremos:

f(t)dt =
0

F(s) s

16

2.16. REPRESENTAO DE ALGUMAS FUNES COM O MATLAB 2.17. FUNO EXPONENCIAL

Programa Matlab: F_exponencial.m clc; clear; disp('Funo Exponencial'); syms t A = 3; a = 2; ut = A*exp(-a*t); disp('u(t) = '); pretty(ut); U = tf([A],[1 a])

% % % % % % % %

Limpa a tela e as variveis Exibe o comentrio Varivel simblica t Amplitude da curva Decaimento da curva Funo u(t) Exibe a funo u(t) Funo exponencial em 's'

2.18. FUNO RAMPA

Programa Matlab: F_rampa.m clc; clear; disp('Funo Rampa'); syms t A = 2; ut = A*t; disp('u(t) = '); pretty(ut); U = tf([A],[1 0 0])

% % % % % % %

Limpa a tela e as variveis Exibe o comentrio Varivel simblica t Inclinao da curva Funo u(t) Exibe a funo u(t) Funo Rampa em 's'

2.19. FUNO ACELERAO

Programa Matlab: F_rampa.m clc; clear; disp('Funo Acelerao'); syms t A = 4; ut = A*t^2; disp('u(t) = '); pretty(ft); U = tf([A],[1 0 0 0])
2.20. FUNO SENO

% % % % % % %

Limpa a tela e as variveis Exibe o comentrio Varivel simblica t Inclinao da curva Funo u(t) Exibe a funo u(t) Funo Acelerao em 's'

Programa Matlab: F_seno clc; clear; disp('Funo Seno'); syms t A = 2; w = 3; ut = A*sin(w*t); disp('u(t) = '); pretty(ut); U = tf([A*w],[1 0 w^2])

% % % % % % % %

Limpa a tela e as variveis Exibe o comentrio Varivel simblica t Amplitude da curva Freqncia da curva Funo u(t) Exibe a funo u(t) Funo Seno em 's'

17

2.21. FUNO COSSENO REPRESENTADA NO MATLAB

Programa Matlab: F_cosseno clc; clear; disp('Funo Cosseno'); syms t A = 5; w = 2; ut = A*cos(w*t); disp('u(t) = '); pretty(ut); U = tf([A 0],[1 0 w^2])

% % % % % % % %

Limpa a tela e as variveis Exibe o comentrio Varivel simblica t Amplitude da curva Frequencia da curva Funo u(t) Exibe a funo u(t) Funo Cosseno em 's'

2.22. TRANSFORMADA INVERSA DE LAPLACE

O processo inverso de determinao da funo de tempo f(t) a partir da Transformada de Laplace F(s) chamado de Transformada Inversa de Laplace e a notao utilizada para design-la L1 . A Transformada Inversa de Laplace pode ser obtida a partir de F(s), com o auxilio da seguinte integral de inverso:

L1 [F(s)] = f(t) =

1 2j

c + j

c + j

F(s)e st ds ,

para t > 0

2.23. TRANSFORMADA INVERSA DE LAPLACE COM O MATLAB Plos distintos: Considere a seguinte Funo: F(s) =
s+7 s + 8s + 15
2

Programa: clc clear syms t s sys =(s+7)/(s^2+8*s+15); pretty(sys) sys1 = ilaplace(sys); sys2 = simplify(sys1); pretty(sys2) Soluo: %Limpa a tela %Limpa a variveis da memria %Define as variveis simblicas s e t %Equao de F(s) %Exibe a equao a ser transformada %Aplica a Transformada Inversa %Simplifica a equao Transformada %Exibe a equao Transformada

18

Plos complexos conjugados: Considere a seguinte Funo: F(s) =

s+7 s 2 + 2s + 5

Programa: clc clear syms t s sys =(s+7)/(s^2+8*s+15); pretty(sys) sys1 = ilaplace(sys); sys2 = simplify(sys1); pretty(sys2) Soluo: %Limpa a tela %Limpa a variveis da memria %Define as variveis simblicas s e t %Equao de F(s) %Exibe a equao a ser transformada %Aplica a Transformada Inversa %Simplifica a equao Transformada %Exibe a equao Transformada

Plos mltiplos: Considere a seguinte Funo: F(s) =

(s 3 + 2s + 5) (s + 3) 4

Programa: clc clear syms t s sys =(s^3+2*s+5)/((s+3)^4); pretty(sys) sys1 = ilaplace(sys); sys2 = simplify(sys1); pretty(sys2) Soluo: %Limpa a tela %Limpa a variveis da memria %Define as variveis simblicas s e t %Equao de F(s) %Exibe a equao a ser transformada %Aplica a Transformada Inversa %Simplifica a equao Transformada %Exibe a equao Transformada

19

Exerccios: Obter a Transformada Inversa de Laplace das seguintes funes com o Matlab

a) F(s) =

(s 3 + 2s + 5) (s + 3)
4

b) F(s) =

(s 3 + 2s + 5) (s + 3) 4 (s 3 + 2s + 5) (s + 3) 4 (s 3 + 2s + 5) (s + 3) 4

c) F(s) =

(s 3 + 2s + 5) (s + 3) 4 (s 3 + 2s + 5) (s + 3) 4

d) F(s) =

e) F(s) =

f) F(s) =

2.24. EXPANSO EM FRAES PARCIAIS COM O MATLAB

Considere a seguinte funo

B(s) : A(s)

n n 1 + L + bn B(s) num b0 s + b1 s = = n n 1 A(s) den s + a1 s + L + an

Onde alguns ai e bi podem ser nulos. No MATLAB os vetores linha num e den so formados pelos coeficientes do numerador e do denominador da Funo de Transferncia. Ou seja: num = [b0 b1 b2 .... bn] den = [a0 a1 a2 .... an] O comando [r,p,k]=residue(num,den) Determina os resduos (r), os plos (p) e o termo direto (k) da expanso em fraes parciais da relao entre dois polinmios B(s) e A(s). B(s) A expanso em fraes parciais de dada por: A(s)

B(s) r(1) r(2) r(k) r(n) = + +L+ +L+ + + k(s) A(s) s p(1) s p(2) s p(k) s p(n)

(2.1)

Comparando as equaes eqs.(2.1) e (2.6), notamos que p(1) = -p1, p(2) = -p2,...., p(n)= pn; r(1) = a1, r(2) = a2,...., r(n)= -an. [k(s) um termo direto.]

20

Exemplo 01: Considere a seguinte Funo de Transferncia:

F(s) =

B(s) 2s3 + 5s2 + 3s + 6 = A(S) s3 + 6s2 + 11s + 6

Para esta funo, temos: num = [2 5 3 6] den = [1 6 11 6] O Comando [r,p,k]=residue(num,den) Apresenta o seguinte resultado: r= -6.0000 -4.0000 3.0000 p= -3.0000 -2.0000 -1.0000 k= 2 Note que os resduos retornam na coluna vetor r, o lugar dos plos, na coluna p, e o termo direto, na linha vetor k. Essa a representao em MATLAB da seguinte expanso em fraes parciais de B(s)/A(s):

F(s) =

6 4 B(s) 2s3 + 5s2 + 3s + 6 3 = 3 = + + +2 2 A(S) s + 6s + 11s + 6 s + 3 s + 2 s + 1

O comando residue pode ser tambm utilizado para formar os polinmios (numerador e denominador) a partir de suas expanses parciais em fraes. Ou seja, o comando: [num,den]=residue(r,p,k) Onde r, p e k foram fornecidos previamente pelo MATLAB, convertendo de volta a expanses em fraes parciais para a relao polinomial, como segue: [num,den] = residue(r,p,k) printsys(num,den,s) num/den=

21

2s ^ 3 + 5s ^ 2 + 3s + 6 s ^ 3 + 6s ^ 2 + 11s + 6

O comando printsys(num,den,s) apresenta o num/den em termos da relao polinomial em s. Note que, se p(j) = p(j + 1) = L = p(j + m 1) [isto , p j = p j+1 = L = p j+m1 ], o plo p(j)

um plo de multiplicidade m. Nesses casos, a expanso inclui termos como segue:

r(j) r(j + 1) r(j + m 1) + +K+ s p(j) [s p(j)]2 [s p(j)]m


Para mais detalhes ver exemplo a seguir.

Exemplo 02: Expanda a seguinte B(s)/A(s) em fraes parciais com o MATLAB


F(s) = B(s) s 2 + 2s + 3 s 2 + 2s + 3 = = 3 3 A(S) (s + 1) s + 3s 2 + 3s + 1

Para esta funo temos: num = [0 1 2 3] den = [1 3 3 1] O Comando [r,p,k]=residue(num,den) Apresenta o resultado mostrado adiante. a representao em MATLAB da seguinte expanso em fraes parciais de B(s)/A(s):

F(s) =

B(s) 2 0 1 = + + 3 2 A(S) (s + 1) (s + 1) (s + 1)1

num = [0 1 2 3] den = [1 3 3 1] [r,p,k]=residue(num,den) r= 1.0000 0.0000 2.0000 p= -1.0000 -1.0000 -1.0000 k= []

22

Note que o termo direto k zero. Para obter a funo original B(s)/A(s) a partir de r, p, e k, insira o seguinte programa:

F(s) =

6 4 B(s) 2s3 + 5s2 + 3s + 6 3 = 3 = + + +2 2 A(S) s + 6s + 11s + 6 s + 3 s + 2 s + 1


[num,den] = residue(r,p,k) printsys(num,den,s)

Assim o computador apresentar o num/den como segue:


num / den = s ^ 2 + 2s + 3 s ^ 3 + 3s ^ 2 + 3s + 1

2.25. DETERMINAO DOS ZEROS E PLOS DE B(S)/A(S)

O MATLAB tem um comando [num,den] = residue(r,p,k) que permite obter zeros, polos e o ganho K de B(s)/A(s). Considere o sistema definido por:

F(s) =

B(s) 4s2 + 16s + 12 = 4 A(S) s + 12s3 + 44s2 + 48s

Para obter zeros (z), plos (p) e ganho (k), insira o seguinte programa em MATLAB: num = [0 0 4 16 12]; den = [1 12 44 48 0]; [z,p,k] = tf2zp(num,den) Ento, o computador vai apresentar os seguintes dados na tela: z= -3 -1 p= 0 -6.0000 -4.0000 -2.0000 k= 4

23

Os zeros esto em s = -3 e -1. Os plos esto em s = 0, -6, -4 e -2. O ganho K 4. Se os zeros, os plos e o ganho K forem dados, ento o seguinte programa em MATLAB vai produzir o num/den original: z = [-1; -3]; p= [0;-2;-4;-6]; K = 4; [num,den] = zp2tf(z,p,K); printsys(num,den,s)

num / den =

4s ^ 2 + 16s + 12 s ^ 4 + 12s ^ 3 + 44s ^ 2 + 48

Exerccios

01) Obter a expanso em fraes parciais das seguintes funes, utilizando o MATLAB. E em seguida obtenha a Transformada Inversa de Laplace de F(s): a) F(s) =

10(s + 2)(s + 4) (s + 1)(s + 3)(s + 5)2

b)

24

02) Obtenha a expresso B(s)/A(s)= num/den com o MATLAB. a) Sendo que a funo B(s)/A(s) tem os seguintes zeros, plos e ganho K: Zeros em s = -1, s = -2 Plos em s = 0, s = -4, s = -6 Ganho k = 5

b) a) Sendo que a funo B(s)/A(s) tem os seguintes zeros, plos e ganho K: Zeros em s =-3, s = -4, s = -1 Plos em s = 3, s = -5, s = 0, s = -2 Ganho k = 8

2.26. TEOREMA DO VALOR INICIAL (TVI)

O teorema do valor inicial (TVI) permite que se descubra o valor inicial f(0 +) do sinal f(t) cuja Transformada de Laplace F(s) seja conhecida. O teorema do valor inicial estabelece que:

f(0 +) = lim f(t) = lim s F(s)


t 0 + s

2.27. TEOREMA DO VALOR FINAL (TVF)

O teorema do valor final (TVF) permite que se descubra o valor final f() do sinal f(t) cuja Transformada de Laplace F(s) seja conhecida. O teorema do valor final estabelece que:

f() = lim f(t) = lim s F(s)


t s 0

Restries de aplicao :

Os plos de F(s) = B(s) / A(s) , aps cancelamento dos termos comuns, tm que estar no semi-plano esquerdo (SPE);

25

S permitido um nico plo em s=0 ( de esperar f() = cte como na funo degrau); O valor de f() indefinido se existirem pares de plos conjugados no eixo j , pois a f(t) conter funes de tempo oscilante. O valor de f() indefinido se existirem pares de plos conjugados no eixo no semiplano esquerdo (SPD), pois a f(t) conter funes de tempo crescentes exponencialmente. Este teorema no se aplica quando f(t) for uma funo senoidal sen(t), pois s F(s) tem plos em s= j e o lim f(t) no existe.
t

Exemplos: Encontre valor inicial f(0 +) o valor final f() dos sinais abaixo:

a)
F(s) = 12(s + 1) s(s 2 + 1)

Valor inicial:
f(0 +) = lim s
s

12(s + 1) s(s 2 + 1)

=0

Valor final:

Indefinido, pois F(s) tem plos conjugados s = j2 no eixo j b)


F(s) = 4s + 5 2s + 1

Valor inicial:

Como a ordem dos dois polinmios numerador e denominador so iguais efetua-se a diviso polinomial:
F(s) = 4s + 5 3 =2+ = 2 + Y(s) e aplica-se o teorema do valor inicial a Y(s): 2s + 1 2s + 1

3 f(0 + ) = lim sY(s) = lim s s 2s + 1 = 1.5 s

Valor final:

Podemos aplicar o teorema do valor final diretamente a F(s):

4s 2 + 5s f() = lim s F(s) = lim s =0 s 0 s 0 2s + 1

26

CAPTULO 3 3. MODELAGEM MATEMTICA


3.1. CONTROLE CLSSICO: FUNO DE TRANSFERNCIA

A Funo de Transferncia de um sistema de equaes diferenciais lineares invariantes no tempo definida como a relao da Transformada de Laplace da sada (funo resposta) para a transformada de Laplace da entrada (funo de excitao) sob a hiptese de que todas as condies iniciais so nulas.
Funo de transferncia = F(s) = L [sada] L [entrada] Condies

(3.1)
iniciais nulas

Usando o conceito de Funo de Transferncia, possvel representar a dinmica do sistema pelas equaes algbricas em s.

3.2. REPRESENTAO DA FUNO DE TRANSFERNCIA

Considerando novamente a Funo de Transferncia dada pela equao a seguir:


F(s) =
m m 1 + L + bm 1 s + bm Y(s) b0 s + b1 s = n n 1 U(s) a0 s + b1 s + L + an1 s + an

(3.2)

Fatorando o polinmio do numerador e do denominador esta mesma Funo de Transferncia pode ser expressa em termos do produto dos fatores como:
F(s) = Y(s) K ( s z1 )( s z2 ) L ( s zm 1 )( s zm ) = U(s) ( s p1 )( s p2 ) L ( s pn1 )( s pn )

(3.3)

referido para ser um plo da Funo de Transferncia. Assumindo agora que os plos {pi } so reais ou complexos mas distintos, podemos escrever a eq.(3.4) como uma frao parcial:
F(s) = C1 C2 Cn1 Cn Y(s) = + +L+ + U(s) s p1 s p2 s pn1 s pn (3.4)

Quando s = zi , s referido para ser um zero da funo transferncia e quando s = pi , s

Onde C1 , C2 , L , Cn1 , Cn so chamados de resduos e podem ser calculado pelo mtodo fraes parciais visto no capitulo 2.

27

3.3. REPRESENTAO DA FUNO DE TRANSFERNCIA COM O MATLAB

Sistemas contnuos no Matlab so representados por Funes de Transferncia. Uma vez que as Funes de Transferncia so descritas por razes de polinmios, elas so definidas no Matlab por vetores linha de seus coeficientes. Por exemplo:
F(s) =
m m 1 + L + bm 1 s + bm Y(s) b0 s + b1 s = n U(s) a0 s + b1 s n1 + L + an1 s + an

No Matlab: num = [bo b1 bm-1 bm] den = [ao a1 an-1 an] sys = tf(num,den) onde: num o numerador den o denominador

Exemplo: Represente a Funo de Transfrencia

Y(s) s+5 = 2 com o Matlab: R(s) s + 3s + 2

Programa MATLAB 3-1 %---------- Representao da da Funo de Transferncia ---------clc clear %***** Entrar com os valores do numerador e denominador da Funo de Transferncia ***** num = [1 5]; den = [1 3 2] %***** Funo de Transferncia na forma polinomial ***** sys = tf(num,den)

Comandos do matlab

% serve para colocar um comentario clc limpa a janela de comandos clear remove todas as variveis da workspace A entrada de dados no Matlab tambm pode ser feita a partir da definio do ganho e dos zeros e plos do sistema que tambm so descritos por vetores linha. Por exemplo:
F(s) = Y(s) K ( s z1 )( s z2 ) L ( s zm 1 )( s zm ) = U(s) ( s p1 )( s p2 ) L ( s pn1 )( s pn )

28

No Matlab: zeros = [z1 z2 zm-1 zm] polos = [p1 p2 pn-1 pn] ganho = k sys = zpk(zeros,polos,ganho) onde: zeros so os zeros do sistema polos so os plos do sistema ganho o ganho do sistema
Exemplo: Represente a Funo de Transfrencia
Y(s) 3(s 2)(s 1) = com o Matlab: R(s) (s 7)(s 3)(s 4)

Programa MATLAB 3-2 %---------- Representao da Funo de Transferncia ---------clc clear %***** Entrar com os valores dos plos, zeros e do ganho da Funo de Transferncia ***** zeros = [2 1] polos = [7 3 4] ganho = 3 %***** Funo de Transferncia na forma de plos, zeros e ganho ***** sys = zpk(zeros,polos,ganho)

De Funo de Transferncia para plos, zeros e ganho

Converte funes de transferncia para plos e zeros. [z,p,k] = tf2zp(num,den) Ou seja, encontra os zeros, os plos e o ganho
F(s) = Y(s) K ( s z1 )( s z2 ) L ( s zm 1 )( s zm ) = U(s) ( s p1 )( s p2 ) L ( s pn1 )( s pn )

Exemplo: Encontre os zeros, os plos e o ganho da Funo de Transfrencia com o Matlab:

Y(s) s+5 = 2 R(s) s + 3s + 2

29

Programa MATLAB 3-3 %---------- Transformao da Funo de Transferncia ---------clc clear %***** Entrar com os valores do numerador e denominador da Funo de Transferncia ***** num = [1 5] den = [1 3 2] %***** Converte a Funo de Transferncia para plos e zeros ***** [z,p,k] = tf2zp(num,den) sys = zpk(z,p,k)

De plos, zeros e ganho para Funo de Transferncia

Converte plos, zeros e ganhos para Funes de Transferncia. [num,den] = tzp2tf(z,p,k) Ou seja, encontra Funes de Transferncia na forma de polinmio:
F(s) =
m m 1 + L + bm 1 s + bm Y(s) b0 s + b1 s = n n 1 U(s) a0 s + b1 s + L + an1 s + an

Exemplo: Encontre a Funo de Transfrencia dados os zeros, os plos e o ganho do sistema:


Y(s) 3(s 2)(s 1) = R(s) (s 7)(s 3)(s 4)

Programa MATLAB 3-4 %---------- Transformao da Funo de Transferncia ---------clc clear %***** Entrar com os valores dos plos, zeros e do ganho da Funo de Transferncia ***** z = [ 2 ; 1] p = [7 ; 3 ; 4] k=3 %***** Converte a Funo de Transferncia para a forma polinomial ***** [num,den] = zp2tf(z,p,k) sys = tf(num,den)

30

Outro Mtodo de Representao da Funo de Transferncia

Criaao de uma Funao de Transfrencia por outro mtodo s = tf('s'); sys = (s+1)/(s^2+3*s+1)

Programa MATLAB 3-5 %---------- Representao da Funo de Transferncia ---------clc clear %***** Especif ica a Funo de Transferncia sys(s) =s (varivel de Laplace ) ***** s = tf('s'); %***** Entrar com a Funo de Transferncia diretanente com a espresso de s ***** sys = (s+1)/(s^2+3*s+1)

3.4. COMANDOS PARA OBTER A RESPOSTA TEMPORAL

O matlab tambm possui comandos especializados para obter a resposta temporal de sistemas. Por exemplo:
Resposta ao degrau unitrio

Resposta ao degrau unitrio: Criao da Funo de Transfrencia - Mtodo 01 Programa MATLAB 3-6 %---------- Resposta a funo degrau unitrio Mtodo 1 ---------close all clear all clc % Criaao de uma Funo de Transfrencia num = [1 1] den = [1 3 1] sys = tf(num,den) % Aplicao de um degrau ao sistema f igure(1) step(sys) grid on

31

Comandos do matlab

close all fecha todas as janelas de figuras abertas clear all remove todas as variveis e funoes da workspace figure( ) cria uma nova figura gride on habilita as linhas de grade dos grficos

Resposta ao degrau unitrio: Criao de uma Funo de Transfrencia - Mtodo 2 Programa MATLAB 3-7 %---------- Resposta a funo degrau unitrio Mtodo 2 ---------close all; clear all; clc; % Criaao de uma Funo de Transfrencia s = tf('s'); sys = (s+1)/(s^2+3*s+1) % Aplicao de um degrau ao sistema f igure(1) step(sys) grid on

Resposta ao degrau unitrio com intervalo de tempo que a resposta ser apresentada Programa MATLAB 3-8 %---------- Resposta a funo degrau unitrio num intervalo de tempo close all; clear all; clc % Criaao de uma Funo de Transfrencia s = tf('s'); sys = (s+1)/(s^2+3*s+1) % Aplicao de um degrau ao sistema f igure(1) % Intervalo de tempo que sera apresentada a resposta do sistema tempo=8 step(sys,tempo) grid on

32

Resposta ao impulso unitrio

Programa MATLAB 3-9 %---------- Resposta a funo impulso unitrio num intervalo de tempo close all clear all clc % Criaao de uma Funo de Transfrencia z = [-2] p = [-1 ;-3] k = [1] sys = zpk(z,p,k) % Aplicao de um degrau ao sistema f igure(1) % Intervalo de tempo que sera apresentada aresposta do sistema tempo=10; impulse(sys,tempo) grid on

Resposta a uma funo qualquer Funo rampa

Programa MATLAB 3-10 %---------- Aplicacao de uma funcao qualquer ao sistema: funo rampa close all; clear all; clc % Def inindo a funcao no interval de tempo t=0:0.1:10; U= 15*t; num = [1 1] den = [1 3 1] sys = tf(num,den) f igure(1) lsim(sys,U,t) grid on % funo rampa % Criaao de uma Funo de Transfrencia

33

Funo acelerao

Programa MATLAB 3-11 %---------- Aplicacao de uma funcao qualquer ao sistema: funo acelerao close all; clear all; clc; % Def inindo a funcao no interval de tempo t=0:0.1:10; U= 15*t; num = [1 1] den = [1 3 1] sys = tf(num,den) f igure(1) lsim(sys,U,t) grid on % funo rampa % Criaao de uma Funo de Transfrencia

Funo seno

Programa MATLAB 3-12 % Aplicacao de uma funcao qualquer ao sistema: funo seno close all; clear all; clc; % Def inindo a funcao no interval de tempo t=0:0.1:1000; A= 3 w = 377 f i = pi/2 U= A*sin(w*t+f i); num = [1 4] den = [1 3 1] sys = tf(num,den) f igure(1) lsim(sys,U,t) grid on % Amplitude % Velocidade angular % Fase inicial % Funo seno

% Criaao de uma Funo de Transfrencia

34

Funo cosseno

Programa MATLAB 3-13 % Aplicacao de uma funcao qualquer ao sistema: funo cosseno close all;clear all;clc; % Def inindo a funcao no interval de tempo t=0:0.1:1000; A= 3 w = 377 f i = pi/2 U= A*cos(w*t+f i); num = [1 4] den = [1 3 1] sys = tf(num,den) f igure(1) lsim(sys,U,t) grid on % Amplitude % Velocidade angular % Fase inicial % Funo cosseno

% Criaao de uma Funo de Transfrencia

Funo exponencial

Programa MATLAB 3-14 % Aplicacao de uma funcao qualquer ao sistema: funo exponencial close all; clear all;clc ; % Def inindo a funcao no interval de tempo t=0:0.1:20; A= 3 a=2 U= A*exp(-a*t); num = [1 4] den = [1 3 1] sys = tf(num,den) f igure(1) lsim(sys,U,t) grid on title ('** Resposta a funo exponencial **') xlabel ('** Tempo **') ylabel ('** Amplitude **') % Amplitude % % Funo exponencial

% Criaao de uma Funo de Transfrencia

35

3.5. SISTEMAS ELTRICOS Exemplo 01: Representar a Funo de Transferncia do sistema eltrico com o Matlab

VS (s) = VE (s)

1 CL R 1 s2 + s + L CL

Onde: R = 10; L = 20 m H e C = 3 F

Programa MATLAB 3-15 % Funcao de Transferencia de um sistema RLC close all; clear all;clc ; % Def inindo os valores das constantes L = 20e-3; R = 10; C = 3e-6; % Criaao de uma Funo de Transfrencia num = [1/C*L]; den = [1 R/L 1/C*L]; sys = tf(num,den)

Exercicio 01: Desenvolva um programa em Matlab para o circuito R-L-C e aplique uma uma tenso de entrada de 10 volts [VE(t) = 10 volts]. Para essa tenso aplicada analise a resposta desse sistema

Exercicio 02: Desenvolva um programa em Matlab para o circuito R-C-L e aplique uma uma tenso de entrada de 10 volts [VE(t) = 10 volts]. Para essa tenso aplicada analise a resposta desse sistema.

36

3.6. CIRCUITOS COMPLEXOS VIA MTODO DAS MALHAS Exemplo 01: Dado o circuito abaixo, obter a Funo de Transferncia I2(s)/V(s)

Programa MATLAB 3-16 % Nome do arquivo: clc; clear; disp('Exemplo 01') syms s R1 R2 L C V

% Limpa a tela; % Limpa as variaveis do programa. % Exibe ttulo. % Constri objetos simblicos para a varivel de freqncia % 's', e 'R1', 'R2', 'L', 'C' e 'V'. A2=[(R1+L*s) V;-L*s 0] % Forma Ak = A2. A=[(R1+L*s) -L*s;-L*s (L*s+R2+(1/(C*s)))] % Forma A. I2=det(A2)/det(A); % Usa a Regra de Cramer para calcular I2(s). I2=simple(I2); % Reduz a complexidade de I2(s). G=I2/V; % Forma a funo de transferncia, I2(s)/V(s). % G(s) = % Exibe ttulo. 'G(s)' pretty(G) % Apresenta G(s) na forma "bonita".

Comentrios:
O Toolbox de Matemtica Simblica pode ser usada para simplificar a soluo de equaes simultneas empregando a Regra de Cramer. Um sistema de equaes simultneas pode ser representado em forma matricial por Ax = B, onde A a matriz formada pelos coeficientes das incgnitas das equaes simultneas, x, um vetor contendo as incgnitas e B um vetor contendo as entradas. A regra de Cramer estabelece que xk, o k-simo elemento do vetor soluo, x, obtido atravs de xk = det(Ak)/det(A), onde Ak a matriz formada pela substituio da k-sima coluna da matriz A pelo vetor de entrada, B. No texto, chamamos det(A) de delta. No MATLAB, as matrizes so escritas com um espao ou uma vrgula separando os elementos no interior de cada linha. A linha seguinte indicada por um ponto-e-vrgula ou por um retorno de carro. A matriz, como um todo, delimitada por um par de colchetes. Aplicando o que acaba de ser dito soluo do Exemplo anterior: A=[{R1+L*s) -L*s;-L*s (L*s+R2+(1/(C*s)))] e Ak=[(R1+L*s) V;-L*s 0]. A funo det(matriz quadrada) calcula o determinante do argumento matriz quadrada. Determinemos a funo de transferncia, G(s) = I2(s)/V(s), pedida no Exemplo. O comando, simple(S), onde S uma funo simblica, introduzida na soluo. Simple(S) simplifica a soluo reduzindo o tamanho da expresso S. O uso de simple(I2) reduz a soluo combinando os termos de mesma potncia da varivel de Laplace, s.

37

Exerccios
01) Obter a Funo de Transferncia I3(s)/V(s) com Matlav

3.7. SISTEMAS MECNICOS Exemplo 01: Obter a Funo de Transferncia do sistema mecnico mostrado na Figura abaixo,
considerando que o termo forante u(t) a entrada e a posio da massa, y(t) a sada.

U(s) = Y(s)

1 m b k s2 + s + m m

Onde: m= 10 kg, K= 20 N.m e b= 4 N.s/m

38

Programa MATLAB 3-17 % Funcao de Transferencia de um sistema Massa-Mola-Amortecedor close all; clear all;clc ; % Def inindo os valores das constantes m = 10; k = 20; b = 4; % Criaao de uma Funo de Transfrencia num = [1/m]; den = [1 b/m k/m]; sys = tf(num,den)

Exercicio 01: A suspenso de um automvel pode ser representada simplificadamente como


mostrada na figura abaixo (a). Em (b) est representado apenas um eixo da suspenso, considerando apenas o deslocamento vertical. Conforme o veculo se move e passa por ondulaes, causa uma excitao na suspenso, representada no esquema pelo ponto P(xi).

O modelo matemtico do sistema pode ser representado pela equao:

&& & & & mx 0 + b(x 0 x i ) + k(x 0 x i ) = 0


ou

&& & & & mx 0 + bx 0 + kx 0 = bx i + kx i


onde: m:= massa do carro (kg) = 500 b:= coeficiente de amortecimento do amortecedor (N.s/m) = 2000 k:= constante da mola da suspenso (N.m) = 12500

39

Como exerccio, realize a representao deste sistema no Matlab: - Admita como sinal de entrada xi e de sada xo. X 0 (s) - Encontre a Funo de Transfrencia X i (s) a) Se o sistema for excitado por um impulso de 0,10 m de posio (ex: A roda passa por um tacho na pista com 10cm ), observe o sinal de sada x0(t). Ocorreu alguma oscilao? Por qu? b) Se for retirado o amortecedor da suspenso, o que acontece com a posio de sada do carro? O carro estabiliza em alguma posio? c) Qual deveria ser o valor do amortecedor para que o sistema no apresentasse oscilao e a resposta de sada fosse o mais rpido possvel para zero?

3.8. REPRESENTAO DE ESPACO DE ESTADOS


O objetivo do modelo de variveis de estado, ou modelo de espao de estados, desenvolver uma representao que preserve a relao entrada-sada (a mesma da funo de transferncia), mas que expressa em n equaes de primeira ordem para um sistema de ordem n. A vantagem de n equaes de primeira ordem que, alm das caractersticas entrada-sada, as caractersticas internas do sistema so representadas.

3.9. MODELAGEM POR VARIVEIS DE ESTADO


O sistema linear representando pela equao diferencial de ordem n:
(n)

& & y + a 1 y + K + a n 1 y + a n y = b 0 u + b1 u + L + b n 1u + b n u

( n 1)

(n)

( n 1)

(3.5)

Pode ser representando por espao de estado atravs das seguintes equaes matriciais:

& x1 0 x 0 & 2 M = M & x n 1 0 x n a n &

1 0 M 0 a n 1

0 1 M 0 a n 2

L L

0 x 1 1 0 x 2 2 O M M + M L 1 x n 1 n 1 L a1 x n n

(3.6)

40

x1 x y = [1 0 L 0] 2 + 0 u M x n
Onde:

(3.7)

0 = b 0 1 = b1 a 1 0 2 = b 2 a 11 a 2 0 3 = b 3 a 1 2 a 21 a 3 0 M n = b n a 1 n 1 L a n 11 a n 0
(3.8)

As eqs.(3.6 e 3.7) podem ser reescritas atravs de uma forma padro, na qual so dadas por:

& x (t) = Ax(t) + Bu(t)


y(t) = Cx(t) + Du(t)

(3.9) (3.10)

& Onde o vetor, x ( t ) , a derivada no tempo do vetor x ( t ) . Nestas equaes condies:


A, B, C, D = Matrizes de parmetros; A = matriz (n x n), chamada matriz do sistema; B = matriz (n x r), chamada matriz de entrada; C = matriz (p x n), chamada matriz de sada; D = matriz (p x r) que representa o acoplamento direto entre entrada e sada; x(t) = vetor dos estados =vetor (n x 1) dos estados de um sistema de ordem n; y (t) = vetor de sada = vetor (p x 1) composto pelas sadas definidas; u(t) = vetor de entrada = vetor (r x 1) composto pelas funes de entrada do sistema. A eq.(3.9) chamada de equao de estado, e a eq.(3.10) a equao de sada. A equao de estado uma matriz de equaes diferenciais de primeira ordem, e o vetor de estado, x(t), sua soluo. Tendo conhecimento de x(t) e do vetor de entrada u(t), a equao de sada produz a sada y(t). Uma representao por diagrama de blocos das eqs.(3.9 e 3.10) pode ser visto atravs da Figura a seguir.

41

FIGURA 3.1 - Diagrama de blocos da equao de estado e de sada

Normalmente, a matriz D zero, j que nos sistemas fsicos aparece uma dinmica em todos os caminhos entre as entradas e sadas. Logo, a equaes por espao de estado podem ser escritas da seguinte forma:

& x (t) = A x + B u
y(t) = C x

eq.(3.1) eq.(3.2)

Uma representao por diagrama de blocos das eqs.(4.8 e 4.9) pode ser visto atravs da Fig.(4.2).

FIGURA 3.2 - Diagrama de blocos da equao de estado e de sada (matriz D nula) A equao caracterstica do sistema, na qual determina as localizaes dos plos obtida atravs da seguinte equao:

det ([sI - A)] = 0


Onde I a matriz identidade de dimenso n.

eq.(3.3)

42

3.10. REPRESENTAO DE ESPAO DE ESTADOS COM O MATLAB


O comando para representar um sistema atravs da representao de espao de estados no Matlab o seguinte:
& x = Ax + Bu y = Cx + Du

sys = ssf(A,B,C,D) onde: A, B, C, D = Matrizes de parmetros;

Exemplo: Represente o sistema massa-mola-amortecedor com o Matlab:

X(s) = F(s)

1 m b k s2 + s + m m

Onde a equao de estado :


0 & x1 = & k x2 m 1 0 x1 + u b 1 x2 m m

E a equao de sada :
x1 y = 1 0 x 2

43

Programa MATLAB 3-18 %---------- Representao da em Representao de Estados ---------clc; clear all; close all % Def inindo os valores das constantes m = 10; k = 20; b = 4; %***** Montagem das Matrizes de estado e sada ***** A = [0 1; -k/m -b/m]; B = [0 ; 1/m]; C = [1 0]; D = [0]; %***** Representao em espao de estados ***** sys = ss(A,B,C,D)

3.11. TRANFORMAO LINEARES DE SISTEMAS


O MATLAB tem comandos para transformar um modelo matemtico de um sistema linear em outro modelo. Tais transformaes lineares de sistemas, teis para a soluo de problemas de engenharia de controle, sero discutidas a seguir. De funo de transferncia para espao de estados O comando [A,B, C,D] = tf2ss(num, den) Converte o modelo sob a forma de Funo de Transferncia

Y(s) num = = C(sl A)1 B + D U(s) den


para a forma em equaes de estado

& x = Ax + Bu y = Cx + Du

Programa MATLAB 3-19 %---------- Transformao de funo de Transferencia para Estados de Estados---------close all; clear all;clc ; % Def inindo os valores das constantes m = 10;

44

k = 20; b = 4; % Criaao de uma Funo de Transfrencia num = [1/m]; den = [1 b/m k/m]; sys = tf(num,den) % Transformao de Funo de Transferencia para Estados de Estados [A,B,C,D] = tf2ss(num,den)

De espao de estados para funo de transferncia Se o sistema tem uma entrada e uma sada, o comando [num, den] = ss2tf(A,B, C,D) Produz a funo de transferncia Y(s)/U(s). Se o sistema possuir mais de uma entrada, deve-se usar o seguinte comando:

[num, den] = ss2tf(A,B, C,D,iu)


Tal comando converte a representao em espao de estados

& x = Ax + Bu y = Cx + Du
Para a representao em funo de transferncia

Y(s) = C(sl A)1 B + D Ui(s)


Observe-se que que o escalar i um ndice para as entradas do sistema e especifica qual das entradas deve ser usada para estabelecer resposta. Considere-se, por exemplo, o seguinte sistema, com duas entradas u1 e u2.

& x1 0 1 x1 1 0 u1 & = + x2 2 3 x 2 0 1 u2
x u y = 1 0 1 + 0 0 1 x u 2 2

45

Podem-se obter duas Funes de Transferncia para este sistema. Uma relacionada a sada y com a entrada u1 e a outra relacionada a sada y com a entrada u2. (Quando se considera a entrada u1, admiti-se que u2 zero, e vice-versa.) A seguinte sada de um programa MATLAB ilustra o exposto.

Programa MATLAB 3-20 %---------- Transformao de Estados de Estados parae Funo de Transfrencia ---------close all; clear all;clc ; %***** Montagem das Matrizes de estado e sada ***** A =[0 1;-2 -3]; B =[1 0; 0 1]; C =[1 0]; D =[0 0]; % Criaao de uma Funo de Transfrencia [num,den] = ss2tf(A,B,C,D,1) sys1 = tf(num,den) [num,den] = ss2tf(A,B,C,D,2) sys2 = tf(num,den)

Da sada apresentada pode-se ter o seguinte:

Y(s) s+3 = U1 (s) s 2 + 3s + 2


Y(s) 1 = 2 U2 (s) s + 3s + 2

46

CAPTULO 4 4. DIGRAMA DE BLOCOS


4.1. INTRODUO: DIGRAMA DE BLOCOS
Diagrama de blocos uma representao grfica de modelos de processos, mais utilizada em modelos de funes de transferncia, e construdo usando elementos bsicos para representar as relaes entre as variveis em estudo num determinado processo. Ele permite uma visualizao mais eficiente e rpida das caractersticas dinmicas e dos efeitos de determinadas variveis sobre outras que lhes so dependentes.

4.2. COMPONENTES DOS DIGRAMA DE BLOCOS 4.3. BLOCO FUNCIONAL


Bloco funcional ou simplesmente bloco um smbolo da operao matemtica sobre o sinal de entrada do bloco que produz a sada.

4.4. PONTO DE SOMA OU DETECTOR DE ERRO


Um circulo com uma cruz o smbolo que indica uma operao de soma. Ponto de soma ou detector de erro ou produz um sinal que a diferena entre a entrada de referncia e o sinal realimentado pelo sistema de controle

47

4.5. PONTO DE JUNO OU DERIVAO


Ponto de juno ou derivao um ponto a partir do qual o sinal proveniente de um bloco vai simultaneamente para outros blocos ou pontos de soma. A Figura 4.3 mostra um ponto de juno ou derivao.

4.6. REDUO DE DIGRAMAS DE BLOCOS


importante notar que os blocos podem ser conectados em srie somente se a sada de um bloco no for afetada pelo bloco seguinte. Se houver quaisquer efeitos de carregamento entre os componentes necessrio combinar estes componentes em um nico bloco. Qualquer nmero de blocos em cascata representando componentes sem efeito de carregamento pode se substitudo por um nico bloco, cuja Funo de Transferncia simplesmente o produto das funes de transferncia individuais. Um diagrama de blocos complicado envolvendo muitas malhas de realimentao pode ser simplificado por um rearranjo passo a passo, usando regras de lgebra de diagramas de bloco. Algumas destas importantes regras so dadas a seguir. Deve ser notado, no entanto, que como o diagrama de blocos simplificado, as funes transferncias nos novos blocos tornam-se mais complexas porque novos plos e novos zeros so gerados.

4.7. REDUO DE DIGRAMAS DE BLOCOS COM O MATLAB 4.8. BLOCOS EM SRIE COM MATLAB
Suponha que temos desenvolvido modelos matemticos na forma de Funo de Transferncia para a planta, representada por G(s), bem como o controlador, representado por H (s) e, possivelmente, muitos outros componentes do sistema como sensores e atuadores. O objetivo interligar esses componentes para formar um sistema de controle. Iremos utilizar funes do MATLAB para realizar as transformaes do diagrama de blocos. O processo a ser controlado mostrado na Figura 4.1.

Figura 4.1 - Sistema de malha aberta

48

Um simples sistema de controle de malha aberta pode ser obtido atravs da interligao da Planta e do Controlador em sries como ilustrado na Figura 4.2. Podemos utilizar o MATLAB para calcular a Funo de Transferncia R (s) para Y (s), conforme ilustrado no Exemplo a seguir

Figura 4.2 - Sistema de controle de malha aberta

Exemplo 01: Conexo Srie:


Seja o processo, representada pela Funo de Transferncia G(s) = representado pela Funo de Transferncia Gc (s) =

1 500s 2

e o controlador,

s +1 . Podemos usar a funo series para a s+2 cascata de duas Funes de Transferncia G1 (s) e G2 (s) como mostra a Figura 4.3.

T(s) =

Y(s) num = U(s) den

G1 (s) =

num1 den1

G2 (s) =

num2 den2

[nun,den]=series(num1,den1,num2,den2)
Figura 4.3 - Funo series

Anotaes

49

50

A Funo de Transferncia Gc (s)G(s) calculado utilizando a funo series como mostrado na Figura 4.4.

numg=[1]; deng=[500 0 0]; numh=[1 1]; denh=[1 2]; [num,den]=series(numg,deng,numh,denh); printsys(num,den)


num/den = s +1 500s ^ 3 + 1000s ^ 2 Figura 4.4 Aplicao da Funo sries O resultado da Funo de Transferncia, Gc (s)G(s) :

Gc (s)G(s) =

num s +1 = den 500s3 + 1000s2

4.9. BLOCOS EM PARALELO COM MATLAB


Diagramas Blocos muitas vezes tm uma Funo de Transferncia em paralelo. Em tais casos, a funo parallel pode ser bastante til. A Funo parallel descrita na

T(s) =

Y(s) num = U(s) den

G1 (s) =

num1 den1

G2 (s) =

num2 den2

[nun,den]=parallel(num1,den1,num2,den2)
Figura 4.5 - Funo parallel

51

4.10. REALIMENTAO (FEEDBACK)

T(s) =

Y(s) num = U(s) den

G(s) =

num1 den1

H(s) =

num2 den2

[nun,den]=feedback(num1,den1,num2,den2,sinal)
Figura 4.6 - Funo feedback

Exemplo:
Um sistema multi-malha mostrado na Figura a seguir. Determine a funo de Transferncia de Malha Fechada.

52

EXERCCIOS RESOLVIDOS

01) Reduzir o diagrama de blocos mostrado na figura abaixo a uma nica Funo de Transferncia.

Resp:

02) Reduzir o sistema mostrado na figura abaixo a uma nica Funo de Transferncia.

Resp:

53

EXERCCIOS ROPOSTOS
01) Obter a Funo de Transferncia equivalente T(s) = figura abaixo.

C(s) , relativa ao sistema mostrado na R(s)

Resp.

T(s) =

s3 + 1 2s 4 + s2 + 2s

02) Reduza o diagrama de blocos mostrado na Figura a seguir a uma nica Funo de TransfernC(s) cia, T(s) = . Use os seguintes mtodos: R(s) a) Reduo de diagramas de blocos; b) MATLAB.

54

03) Obtenha a Funo de Transferncia, T(s) = usando a reduo de diagramas de blocos.

C(s) , para o sistema mostrado na Figura a seguir R(s)

04) Obtenha a Funo de Transferncia equivalente, T(s) = Figura a seguir.

C(s) , para o sistema mostrado na R(s)

55

05) Reduzir o sistema mostrado na figura abaixo a uma nica Funo de Transferncia, C(s) T(s) = . R(s)

06) Obtenha a Funo de Transferncia, T(s) = Use os seguintes mtodo: a) Reduo de diagramas de blocos;

C(s) , para o sistema mostrado na Figura a seguir. R(s)

b) MATLAB. Use as seguintes Funes de Transferncia: G1 (s) =

1 1 , G2 (s) = 2 , s+7 s + 2s + 3 1 1 5 3 1 1 G3 (s) = , G4 (s) = , G5 (s) = , G6 (s) = 2 , G7 (s) = , G8 (s) = . s+4 s s+7 s+2 s+6 s + 5s + 10

56

06) Reduza o diagrama de blocos mostrado na Figura a seguir a um nico bloco, T(s) =

C(s) . R(s)

08) Determine o sistema com realimentao unitria que equivalente ao mostrado na Figura abaixo

57

09) Dado o diagrama de blocos de um sistema mostrado na Figura abaixo, obtenha a Funo de Transferncia, G(s) = 22 . 11

10) Reduza o diagrama de blocos mostrado na Figura a seguir a um nico bloco, T(s) =

C(s) . R(s)

58

CAPTULO 5 5. RESPOSTA TRANSITRIA


5.1. INTRODUO
O regime transitrio de respostas a sinais especiais (tais como a resposta ao degrau, ao impulso e rampa) usado com freqncia na investigao das caractersticas pertencentes ao domnio do tempo nos sistemas de controle. As caractersticas do regime transitrio, tais como o seu tempo de subida, tempo de pico, de acomodao, o valor mximo de ultrapassagem e o erro de estado estacionrio, podem ser determinado a partir da resposta ao degrau. Se num e den (o numerador e o denominador da funo de transferncia a malha fechada) forem conhecidos, comandos do tipo: step = tf(num,den) e step = tf(num,den, t) vo gerar grficos da resposta ao degrau unitrio. (O parmetro t do comando step o tempo especificado pelo usurio). Para um sistema de controle definido na forma de equaes de estado, onde so conhecidas a matriz de estado A, a matriz de controle B, a matriz de sada C e a matriz de transmisso direta

D das equaes de estado, o comando


step = (A,B,C,D) vai gerar grficos de resposta ao degrau unitrio. O vetor de tempo automaticamente determinado quando t no includo explicitamente nos comando step. Observe-se que, ao usar os comandos step com segmentos esquerda do tipo abaixo, [y,x,t] = step (num,den,t) [y,x,t] = step(A,B,C,D,iu) [y,x,t] = step(A,B,C,D,iu,t) sua execuo no vai resultar na gerao de nenhum grfico na tela. Portanto, necessrio usar o comando plot para verificar as curvas de resposta. Os parmetros y e x so, respectivamente, as matrizes de sada e de estado do sistema, avaliados nos instantes de tempo t. (y tem tantas colunas quantas forem as sadas e uma linha para cada elemento em t. x tem tantas colunas quantos forem os estados e uma linha para cada elemento em t).

59

Note-se que nas equaes anteriores o escalar iu um ndice para as entradas dos sistema e especifica qual entrada deve ser usada para a resposta, e t o tempo especificado pelo usurio. Se o sistema envolve vrias entradas e vrias sadas, o comando step, tal como apresentado nas equaes anteriores produz uma srie de grficos de resposta ao degrau, um para cada combinao de entradas e sadas possveis de acordo com
& x = Ax + Bu y = Cx + Du

A resposta ao impulso ou rampa do sistema de controle pode ser obtida multiplicando-se ou dividindo-se por s a Funo de Transferncia a malha fechada e usando-se o comando step.

A representao de sistemas lineares em MATLAB


A funo de transferncia de um sistema, no domnio s representada por dois arranjos numricos. Considere-se o sistema

G(s) =

2s + 4 s + 1, 3s 2 + 7s + 4
3

Este sistema representado como dois conjuntos numricos, cada qual contendo os coeficientes dos polinmios do numerado e do denominador, em potncias decrescentes de s, como se mostra a seguir: num = [0 0 2 4]; den = [1 1.3 7 4] Convm observar que a ausncia de determinado termo representativo de uma potncia de s deve ser indicado com um zero no lugar respectivo. importante notar aqui o cuidado que se deve ter ao entrar com os elementos do arranjo numrico. Se, por exemplo, for digitado como denominador desta funo den = [1 1,3 7 4] o programa trata o denominador em pauta como um polinmio completamente diferente do correto em funo da presena da vrgula entre o 1 e o 3. Neste caso, o denominador considerado seria den = [1 1 3 7 4] portanto, as respostas do sistema correto e do sistema errado seriam diferentes. Os usurios do MATLAB devem evitar o aparentemente inocente e inconseqente erro de trocar um ponto decimal por uma vrgula.

60

5.2. RESPOSTA AO DEGRAU


Essa seo comea analisando uma questo bem simples. Vamos obter a resposta ao degrau unitrio de um sistema representado por sua Funo de Transferncia. Considerando-se o sistema representado a seguir

C(s) 25 = 2 R(s) s + 4s + 25
Obter o grfico de uma curva de resposta ao degrau unitrio. Programa MATLAB 5-1 permite obter o resultado desejado. Um grfico da curva de resposta do sistema ao degrau unitrio mostrado na figura abaixo: Programa MATLAB 5-1 %---------- Resposta ao degrau unitrio ---------%***** Resposta ao degrau unitrio da funo de transferncia do sistema***** %***** Entrar com os valores do numerador e denominador da Funo de Transferncia ***** clc num = [0 0 25]; den = [1 4 25]; sys = tf(num,den); %***** Entrar com o seguinte comando de resposta ao degrau ***** step(sys) %***** Entrar com os valores das coordenadas e com o ttulo do grf ico ***** grid title('Resposta ao degrau unitrio de G(s) = 25/(s^2+4s+25)') Resposta obtida:

61

Exemplo: Obter a resposta do degrau unitrio do sistema mostrado na Figura abaixo.

A Funo de Transferncia a malha fechada pode ser obtida como se segue

C(s) 6, 3223s2 + 18s + 12, 8112 = 4 R(s) s + 6s 3 + 11, 3223s 2 + 18s + 12, 8112
Obter tambm um grfico de curva de resposta do sistema, marcando tal curva com o smbolo o. Para obter um grfico da curva de resposta marcada com o, pode-se utilizar o programa MATLAB 5-2. A curva de resposta resultada mostrada na Figura a seguir. Programa MATLAB 5-2 % ---------- resposta ao degrau unitrio ---------%***** Se desejar plotar a curva de resposta ao degrau unitrio % com as marcas o, x, --, etc, utilizar o programa mostrado abaixo ***** %***** Entrar com os valores do numerador e denominador da Funo de % Transferncia a malha fechada ***** num =[0 0 6.3223 18 12.8112] den = [1 6 11.3223 18 12.8112] %***** Entrar com os seguintes comandos ***** [c,x,t] = step(num,den); plot(t,c,'o') %***** Entrar com as coordenadas, com o ttulo do eixo dos x e % com o ttulo do eixo dos y ***** g r id title('Resposta ao degrau unitrio') xlabel('Tempo [Segundos]') ylabel('Sada c(t)')

62

Resposta obtida:

Exemplo: Seja o sistema de controle mostrado na Figura abaixo. Neste sistema, o controlador
proporcional fornece um torque T para o elemento de carga constitudo de momento de inrcia e atrito viscoso. A perturbao de torque representada por N.

Admitindo-se que a entrada de referncia seja zero, isto , R(s)=0, a funo de transferncia entre C(s) e N(s) dada por

C(s) 1 = N(s) Js 2 + bs + k p
Portanto:

E(s) C(s) 1 = = 2 N(s) N(s) Js + bs + k p

63

O erro de estado estacionrio devido a um torque perturbador de magnitude TP, dado por:

ess = lim sE(s)


s 0

ess = lim s
s 0

TP 1 Js 2 + bs + k p s

ess =

TP kp

Em regime estacionrio, o controlador proporcional fornece o torque -TSS que igual na magnitude mas de sinal contrrio ao torque perturbador TP. A sada em regime permanente, devido ao torque perturbador, :

e ss = eP =

TP kp

O erro estacionrio pode ser reduzido aumentando-se o valor do ganho KP. No entanto, o crescimento desse valor afeta a resposta do sistema, tornando-a mais oscilatria. Verifique esse fato obtendo as curvas de resposta para um valor pequeno e para uma valor grande de KP. Plote as duas curvas de resposta em um mesmo diagrama. Para obter as curvas acima pedidas, sero considerados dois casos: Caso 1: J=1, b=0,5, KP=1 (sistema 1) C(s) 1 = 2 N(s) s + 0,5s + 1 Caso 2 s=1, b=0,5, KP=4 (sistema 2) C(s) 1 = N(s) s 2 + 0,5s + 4 Observe-se que, para o sistema 1: num1 = [0 0 1] den1 = [1 0.5 1] e que, para o sistema 2: num1 = [0 0 1] den1 = [1 0.5 4] O programa MATLAB 5-3 fornece os grficos das duas curvas de resposta de degrau em um nico diagrama. Nesse programa usa-se a notao y1 e y2 para a resposta. y1 a resposta c(t) do sistema 1 e y2 a resposta c(t) do sistema 2.

64

Para plotar vrias curvas em um nico diagrama, deve-se usar o comando hold. Ao entrar com tal comando, aparecer o seguinte na tela: hold current plot held Para liberar o grfico retido, entra-se novamente com o comando hold. A partir da o grfico ser liberado. Veja-se esta seqncia de comandos: hold current plot held hold current plot held As duas curvas de resposta no degrau so mostradas na Figura a seguir. Programa MATLAB 5-3 % ---------- Plotando duas curvas de resposta ao degrau em um nico grf ico---------%***** Entrar com os valores dos numeradores e dos denominadores das % duas Funes de Transferncia ***** clc;clear num1 = [0 0 1] den1 = [1 0.5 1] num2 = [0 0 1] den2 = [1 0.5 4] %***** Para plotar duas curvas de resposta ao degrau y1 versus t e y2 versus t em um % nico grf ico, entrar com os seguintes comandos ***** step(num1,den1); hold % Current plot held: signif ica graf ico corrente retido step(num2,den2); grid title('Respostas de Dois Sistemas ao Degrau') xlabel('tempo (segundos)') ylabel('Amplitude') %***** Supresso do comando hold ***** hold % Current plot released: siginigf ica corrente liberado

65

Resposta obtida:

Observa-se que na Figura anterior que as identificaes dos eixos x e dos y foram determinadas automaticamente. Se for necessrio identificar cada um dos eixos separadamente, preciso modificar o comando step. Por exemplo, para dar ao eixo dos x a identificao t segundos, e ao dos y sadas y1 e y2, o comando de resposta ao degrau deve ser usado com os seguintes argumentos: [y,x,t] = step(num, den, t) Veja o programa MATLAB 5-4 Desejando-se diferenciar a curva respectiva dos sistema 1 daquela que representa o sistema 2, basta entrar um comando text. A seguir sero considerados dois casos. a - escrita de texto na seta do grfico. Para escrever texto na seta do grfico, basta entrar, por exemplo, com os seguintes comandos: text(9, 0.9, ' Sistema 1 ') text(9, 0.15, ' Sistema 2 ')

66

O primeiro comando solicita ao programa que escreva 'Sistema 1', a partir das coordenadas ' x=9, y=0.9. De maneira anloga, o segundo comando faz com que seja escrito 'Sistema 2' come' ando no ponto de coordenadas x=9, y=0.15. Ver o programa MATLAB 5-4, utiliza-se o comando plot com vrios argumentos, em vez de se usar o comando hold. (O resultado o mesmo para ambos os casos). O uso do comando plot com vrios argumentos faz com que o tamanho dos valores y1 e y2 no precise ser o mesmo. No entanto, conveniente que tais valores sejam da mesma dimenso. Portanto, especifica-se o mesmo valor dos pontos de clculo, atravs da especificao dos tempos de computao dos resultados (como t=0:0.1:20). O comando step precisa incluir esta informao de tempo especificada pelo usurio. Assim, no programa MATLAB 5-4, utiliza-se o seguinte comando step: [y, x, t] = step(num, den, t) b - Identificao das curvas atravs de texto, Para marcar as curvas com textos usam-se os seguintes comandos text(t, y1, '1') text(t, y2 '2')

Programa MATLAB 5-4 % ---------- Plotando duas curvas de resposta ao degrau em um nico %grfico----------

%***** Entrar com os valores dos numeradores e dos denominadores das duas %funes de transferncia ***** num1 den1 num2 den2 = = = = [0 [1 [0 [1 0 1] 0.5 1] 0 1] 0.5 4]

%***** para plotar duas curvas de resposta ao degrau y1 versus t %e y2 versus t em um nico grfico e escrever %Sistema 1 e Sistema 2 para distinguir uma curva da outra, %entrar com os seguintes comandos ***** t = 0:0.1:20; [y1,x1,t] = step(num1,den1,t); [y2,x2,t] = step(num2,den2,t); plot(t,y1,t,y2) grid text(9,0.9,'Sistema 1'), text(9,0.15,'Sistema 2') %***** Adicionar o ttulo do grfico e os ttulos dos eixos dos x e dos y ***** title('Resposta dos dois sistemas ao degrau') xlabel('t Segundos') ylabel('Sadas y1 e y2')

67

Programa MATLAB 5-5 %*****Plotando duas curvas de resposta ao degrau em um nico %grfico***** %*****Entrar com os numeradores e os denominadores das duas %funes de transferncias ***** clc clear

num1 den1 num2 den2

= = = =

[0 [1 [0 [1

0 1]; 0.5 1]; 0 1]; 0.5 4];

%****Para plotar duas curvas de resposta ao degrau y1 versus t e %y2 versus t em um nico grfico,marcando cada uma delas com '1' e '2', %respectivamente,entrar com os seguintes comandos***** t=0:0.4:20; [y1,x1,t] = step(num1,den1,t); [y2,x2,t] = step(num2,den2,t); plot(t,y1,'o',t,y2,'o'); text(t,y1,'1'),text(t,y2,'2'); %***** Adicionar as coordenadas, o ttulo do grfico e os ttulos dos eixos %dos x e dos y***** grid title ('resposta de dois sistemas ao degrau') xlabel('t segundos') ylabel('sadas y1 e y2')

68

O uso de tais comandos far com que as curvas sejam marcadas com 1 e 2,respectivamente de forma que elas possam ser claramente identificadas. Para este caso veja-se o programa MATLAB 5-5.(Neste programa usa-se o comando plot com argumentos mltiplos.) O grfico resultante aparece na Figura anterior.

________________________________________________________________ Resposta ao degrau (caso particular) ________________________________________________________________


Na obteno da resposta ao degrau, alguns casos particulares vo causar diviso por zero nos clculos efetuados pelo MATLAB. Um exemplo deste caso particular discutido aqui. Considere-se o seguinte sistema com sua funo de transferncia a malha fechada:

C ( s) s = N ( s) 2s + 2s + 1
Onde N(s) uma perturbao de entrada e C(s) a sada correspondente. Nos de controle , o efeito da perturbao deve ser minimizado tanto quanto possvel. (Neste sistema, para uma entrada correspondente a uma perturbao em degrau , a saida correspondente torna-se nula em regime estacionrio.) 69

Ser obtida, a seguir, a resposta c(t) a uma perturbao em degrau unitrio.Uma vez que N(s)=1/s,tem-se

C (s) =

1 1 s = 2s + 2s + 1 s 2s + 2s + 1

A transformada inversa de Laplace de C(s)


1 t 2

c(t ) = e

1 sen t 2

A resposta c(t) tende a zero, medida que t aumenta. Agora, ser obtida esta resposta ao degrau utilizando o MATLAB. O programa MATLAB 5-6 pode ser usado para obter a resposta correspondente a uma perturbao em degrau unitrio. Obsr O bserve que que o comando pode no fornecer a resposta desejada. Poder aparecer na tela a mensagem de advertncia divide by zero. Quando isso ocorre , necessrio entrar com os pontos correspondentes aos tempos onde a resposta vai ser calculada (tal como t=0 : 0.1 : 12) e entrar o tempo t especificado pelo usurio atravs do comando step,como abaixo:

step(num,den,t)
Obtm-se, ento, a resposta c(t).O grfico gerado pelo programa MATLAB 5-6 aparece na figura a seguir.. Uma forma alternativa de obter a resposta evitando a diviso por zero modificado ligeiramente a numerador e/ou o denominador da funo de transferncia. No caso em estudo,por exemplo, se for trocado o polinmio 2s + 2s + 1 do denominador por,digamos 2s + 2s + 0.9999 ou 2s + 1.9999s + 1, ou algo desse tipo, possvel eliminar a dificuldade causada pela diviso por zero.

Programa MATLAB 5-6 %----- Resposta ao degrau unitrio %***** Obteno resposta ao degrau unitrio para um caso particular % devido ocorrncia de diviso por zero nos clculos do MATLAB*****

%*****Entrar com o numerador e com o denominador da funo de %transferncia***** clc clear num =[0 1 0]; den =[2 2 1]; %*****Entrar com o comando de resposta ao degrau***** step(num,den)
70

%Warning: divide by zero % {{{ Error using MM ??? %Student system limit on maximum variable size exceeded. %Error in MM \MATLAB\SIGSYS\step.m %On line 85 MM x=???(aa,bb,ones(n,1)zeros(nb,mb); %*****Se este tipo de advertncia aparecer,especificar os instantes de %tempo onde a funo deve ser calculada %(tal como t=0:0.1:12)e entre com o seguinte comando: %step(num,den,t)***** t= 0:0.1:120; step(num,den,t) %***** Adicionar coordenadas e ttulo ao grfico**** grid title('Resposta ao degrau unitrio')

71

Exemplo 5.3: Considere-se o sistema mostrado na figura abaixo. Obter a resposta do sistema a
uma entrada correspondente ao degrau unitrio como sinal de referncia e ao degrau unitrio como perturbao.

Resposta ao degrau unitrio com sinal de referncia. A funo de transferncia a malha fechada para o sistema supondo-se que U(s)= 0, obtida da forma a seguir:

10, 4( s + 4,5192s + 15,385) 1 C ( s) s s + 3, 6s + 9 = = 1 R( s) 1 + 10, 4( s + 4,5192s + 15,385) s s + 3, 6s + 9


C ( s ) 10, 4 s + 42 s + 160 = R ( s ) s + 14 s + 56 s + 160
Portanto,a resposta do sistema ao degrau unitrio,com ausncia de perturbao ,pode ser obtida executando-se o Programa MATLAB 5-7. Um grfico dessa resposta mostrado na figura a seguir.

Programa MATLAB 5-7

%____Resposta entrada de referncias em degrau unitrio ______ clc clear num = [0 10.4 47 160]; den = [1 14 56 160]; v = [0 5 0 1.4]; axis(v); t =0:0.05:5; step(num,den,t) grid title('Resposta entrada de referncia em degrau unitrio')

72

Resposta perturbao em degrau unitrio A resposta a uma perturbao em degrau unitrio pode ser obtida supondo-se a entrada de referncia como sendo zero. A funo de transferncia a malha fechada entre C(s) e U(s) obtida como a seguir:

1 C ( s) s + 3, 6s + 9 = 10, 4( s + 4,5192s + 15,385) 1 U (s) 1 + s s + 3, 6s + 9


C (s) s == U (s) s + 14s + 56 s + 160

O programa Matlab 5-8 pode realizado para obter o grfico da resposta a uma entrada correspondente a um degrau unitrio como perturbao. O grfico dessa resposta exibido na figura a seguir.

73

Programa Matlab 5-8 %____Resposta a uma perturbao em degrau unitrio ______

num = [0 0 1 0]; den = [1 14 56 160]; v = [0 10 -0.04 0.04]; axis(v); t = 0:0.1:10; step(num,den,t) grid title('Resposta a uma perturbao em degrau unitrio')

74

Exemplo 5.4: Neste exemplo, ser considerado um sistema submetido somente as condies
iniciais. Seja o sistema mecnico mostrado na figura a seguir:

onde m-=1kg, b=3 N.s/m, e k=2 N/m. Suponha-se que em t=0 a massa deslocada para baixo, de forma que x(0)=0.1m e

& x (0)=0.05m/s. Obter o movimento da massa sujeito s condies

iniciais especificadas. (Suponha-se que no h nenhuma ao externa atuando sobre o sistema.) A equao do sistema :

&& & mx + bx + kx = 0
& Para as condies iniciais x(0)=0.1m e x (0)=0.05m/s. A transformada de Laplace da equao do sistema dada por

& m [ s X ( s ) sx(0) x(0)] + b[ sX ( s ) x(0)] + kX ( s ) = 0


Ou por:

& (ms + bs + k ) X ( s ) = ms x (0) + m x(0) + b x (0)


Resolvendo-se a ltima equao em X(s) e substituindo-se os valores numricos fornecidos, obtem-se:

X (s) = X ( s) =

& m s x(0) + m x(0) + b x(0) ms + bs + k (1 0.1 s ) + (1 0.05) + (3 0.1) 0,1 s + 1 0.05 + 3 0,1 = (1 s ) + (3 s ) + 2 s + 3s + 2 0,1 s + 0.35 s + 3s + 2

X (s) =

Tal equao pode ser reescrita como:

X (s) =

0,1s + 0,35s 1 s + 3s + 2 s
75

Portanto, o movimento da massa m pode ser obtida como a resposta do degrau unitrio do seguinte sistema:

G ( s) =

0,1s + 0,35s s + 3s + 2

O programa MATLAB 5-9 fornece o grfico do movimento da massa da figura: Programa Matlab 5-9 %-----Resposta a condies iniciais-----

%*****Resposta do sistema a condies iniciais convertida para %resposta ao degrau unitrio modificando-se o polinmio do %numerador***** %*****Entrar com o numerador e com o denominador da funo de %transferncia da funo G(s)***** num=[0.1 0.35 den=[1 3 2]; 0];

%*****Entrar com o seguinte comando de resposta ao degrau***** step(num,den) %*****Entrar com as coordenadas e com o ttulo do grfico***** grid title('Resposta do Sistema Massa-Mola-Amortecedor a condies iniciais')

76

Espao de Estados : Obteno da resposta ao degrau unitrio de um sistema representado na


forma de equao de estado. O Programa MATLAB 5-10 obtm o grfico da curva de resposta ao degrau unitrio do sistema apresentado a seguir:

& x = Ax + Bu y = Cx + Du
Programa Matlab 5-10 %-----Resposta ao degrau unitrio-----

%*****Entrar com as matrizes A,B,C e D das equaes de %estado***** A=[0 1 0 0;0 0 1 0;-100 -80 -32 -8]; B=[0;0;5;60]; C=[1 0 0 0]; D=[0] %*****Para obter a resposta ao degrau unitrio y versus t, entrar com %seguinte comando***** Step(A,B,C,D) %*****Entrar com as coordenadas e com o ttulo do grfico***** grid title('Resposta ao degrau unitrio')

77

Onde

1 0 0 0 0 0 1 0 A= 0 0 0 1 100 80 32 8

0 0 B= 5 60

C = [1 0 0 0]

D=0

A curva resultante da execuo do programa consta na figura anterior.

Exemplo 5.5: Obter a resposta ao degrau unitrio do sistema descrito pelas seguintes equaes
de estado:

& 1 0 x1 0 x1 0 x = 0 x + 25, 04 u & 0 1 2 2 x3 5.008 25.1026 5.0325 x3 121.005 &

x1 y = [1 0 0] x2 x3
O Programa MATLAB 5-11 fornece um grfico da resposta do sistema ao degrau unitrio. O grfico da sada y(t) versus t mostrado na figura a seguir.

Programa Matlab 5-11 %-----Resposta ao degrau unitrio-----

%*****Entrar com as matrizes A,B,C e D das equaes de estado***** %*****Entrar com o numerador e com o denominador da funo de %transferncia da funo G(s)***** A=[0 1 0 ;0 0 1 ;-5.008 -25.1026 -5.0325]; B=[0;25.04;-121.005]; C=[1 0 0 ]; D=[0] %*****Entrar com o seguinte comando de resposta ao degrau unitrio***** [y,x,t]=step(A,B,C,D) plot(t,y) grid title('Resposta ao degrau unitrio') xlabel('t segundos') ylabel('sada y')

78

importante notar que, se for executado o comando plot(y) em vez de plot(t,y), y ser plotado contra os pontos de computao da curva (160 pontos=10 segundos neste exemplo). Veja a figura a seguir para o grfico de y versus os pontos de computao.

Programa Matlab 5-11a %-----Resposta ao degrau unitrio-----

%*****Entrar com as matrizes A,B,C e D das equaes de estado***** %*****Entrar com o numerador e com o denominador da funo de %transferncia da funo G(s)***** clc clear A=[0 1 0 ;0 0 1 ;-5.008 -25.1026 -5.0325]; B=[0;25.04;-121.005]; C=[1 0 0 ]; D=[0]; %*****Entrar com o seguinte comando de resposta ao degrau unitrio***** [y,x,t]=step(A,B,C,D); plot(y) grid title('Resposta ao degrau unitrio') xlabel('Pontos de computao da curva (160 pontos=10 segundos)') ylabel('Sada y')

79

Para Obter o grfico y(t) versus t, necessrio entrar com o comando plot(t,y). Para plotar as curvas x1 versus t, x2 versus t e x3 versus t em um nico diagrama, basta entrar com o comando plot(t,x). Para plotar x2 versus t e x3 versus t em diagramas separados, basta entrar com os seguintes comandos:

x2 = [ 0 1 0] x ' x3 = [ 0 0 1] x '
O programa Matlab 5.12 plota trs curvas, x1 versus t, x2 versus t e x3 versus t em um nico diagrama, alm de plotalas em trs diagrmas separados. Um grfico das trs curvas x1 versus t, x2 versus t e x3 versus t mostrado na figura a seguir. Graficos separados de x2 versus t e x3 versus t aparecem nas figuaras logo a seguir respectivamente.

80

Programa MatLab 5-12 ---------- Resposta ao degrau ----------

% *****Para plotar as curvas x1 versus t, x2 versus t e x3 versus t % em um nico % diagrama ,entrar, respectivamente, com os seguintes % comandos plot e text***** %*****Entrar com o numerador e com o denominador da funo de %transferncia da funo G(s)***** clc; clear; A=[0 1 0; 0 0 1; -5.008 -25.1026 -5.0325]; B=[0; 25.04;-121.005]; C=[1 0 0 ]; D=[0]; %*****Entrar rio***** com o seguinte comando de resposta ao degrau unit-

[y,x,t] = step(A,B,C,D); figure(1) plot(t,x) text(5, 2.0,'x1') text(5,-1.3,'x2') text(5,-24.1,'x3') % *****Adicionar as coordenadas, o ttulo do % eixo dos x e do % eixo dos y***** grid title('Curvas de resposta ao Degrau para x1, xlabel('t segundos') ylabel('x1, x2 e x3') grfico e os ttulos do

x2 e x3')

% *****Atravs dos comandos seguintes possvel plotar as curvas % individuais % separadamente***** % *****Uma vez que x1= y,a curva x1 versus t a mesma que a curva y % versus t obtida anteriormente***** % *****Para plotar a curva x2 versus t, entrar com o seguinte % comando***** figure(2) x2 = [0 1 0]*x'; plot(t,x2) grid title('Resposta x2 versus t') xlabel('t segundos') ylabel('x2') % *****Para plotar a curva x3 versus t, entrar com o seguinte comando***** figure(3) x3 = [0 0 1]*x'; plot(t,x3) grid title('Resposta x3 versus t') xlabel('t segundos') ylabel('x3')
81

Curvas de Resposta ao Degrau Relativas a (x1, x2 e x3), (x2 versus t) e (x3 versus t)

82

83

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