50
INSTRUTOR: Prof. Dr. Carlos Henrique Farias dos Santos RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL

RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Embed Size (px)

Citation preview

Page 1: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

INSTRUTOR: Prof. Dr. Carlos Henrique Farias dos Santos

RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLAB

CURSO DE EXTENSÃO:AULA INAUGURAL

Page 2: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Objetivo:

Apresentar conceitos básicos do ambiente de programação MATLAB e da ferramenta SIMULINK que faz parte deste ambiente.

Page 3: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Engenharia de Controle e automação

Simulação e Modelagem de sistemas complexos

Aquisição e Análise de dados amostrais

Projeto e estudo de plantas (elétricas, mecânicas, químicas, etc...)

Resolução sistemática e lógica de problemas

Engenheiros de Controle e Automação

Page 4: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Linguagens de Programação

Fortran

Pascal

Visual Basic

C++

Java Matlab

Linguagens de Programação

Page 5: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Engenheiro de Controle e automação

Simulação e Modelagem de sistemas complexosAquisição e Análise de dados amostraisProjeto e estudo de plantas Resolução sistemática e lógica de problemas

Linguagens de Programação

Fortran

Pascal

Visual Basic

C++

Java Matlab

Buscando Soluções

Page 6: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Engenheiro de Controle e automação

Simulação e Modelagem de sistemas complexosAquisição e Análise de dados amostraisProjeto e estudo de plantas Resolução sistemática e lógica de problemas

Linguagens de Programação

Fortran

Pascal

Visual Basic

C++

Java Matlab

Matlab: Ferramenta da Engenharia

Page 7: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Ambiente de Trabalho

Page 8: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Ambiente de Trabalho

Page 9: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Ambiente de Trabalho

Page 10: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Tudo de novo!!

Ambiente de Trabalho

Page 11: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Arquivo de Programação: m-file

Page 12: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Diretório corrente

Page 13: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Diretório corrente

Page 14: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Criando uma matriz:

Tipo Matriz

Page 15: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Use A=0:0.5:10 para gerar matrizes com dados em seqüência.

Use “;” para evitar que o resultado apareça na tela.

Use “clear A” para apagar a variável A.

Dicas!

Use “size(A) ” para identificar as dimensões da matriz. A maiordimensão é dada pelo comando “length(A) ”

Use “clear all” para apagar todas as variáveis armazenadas.

Page 16: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

i) Soma e subtração: soma (ou subtrai) elemento por elemento da matriz.

A+BA-B

ii) Multiplicação e Divisão de matrizes: atenção às regras da álgebra, pois as dimensões das matrizes têm que ser coerentes!A * BA / B

iii) Multiplicação e divisão elemento por elemento:A .* BA ./ B

Operações Matemáticas Simples

Page 17: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

iv) Matriz Transposta:A’

v) Cria Matriz Identidade:eye(número de linhas, número de colunas)

vi) Cria Matriz Zeros:zeros(número de linhas, número de colunas)

vii) Cria Matriz Uns:ones(número de linhas, número de colunas)

viii) Cria Matriz Randômica (composta de números aleatórios):rand(número de linhas, número de colunas)

Operações Matemáticas Simples

Page 18: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação
Page 19: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

A interface Simulink

A programação no Simulink segue uma interface gráfica muito intuitiva e fácil de usar:

Page 20: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Ambiente de Trabalho Simulink

Área de programação:

Page 21: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Nosso primeiro exemplo:

Exemplo – Comportamento Senoidal

Avaliar o comportamento da função senoidalao longo do tempo.

BibliotecaSources Biblioteca

Sinks

Page 22: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Simulando...

O parâmetro de entrada está em radianos!

E, no caso, a entrada é o próprio tempo de simulação.

DDIICCAA

Exemplo – Comportamento Senoidal

Page 23: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Agora quero somar 1.5 ao valor da função:

BibliotecaMath

BibliotecaSources

Exemplo – Comportamento Senoidal

Page 24: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Ajuste automático da escala do gráfico:

Exemplo – Comportamento Senoidal

Page 25: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Ajuste manual da escala do gráfico:

Exemplo – Comportamento Senoidal

Page 26: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Agora quero multiplicar o resultado por -1:

BibliotecaMath

Exemplo – Comportamento Senoidal

Page 27: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Configuração do bloco Product:

Número de termosda multiplicação.

Multiplicaçãode matrizes outermo a termo.

Exemplo – Comportamento Senoidal

Page 28: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Obter o módulo do resultado:

BibliotecaMath

Exemplo – Comportamento Senoidal

Page 29: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Alterando os parâmetros de simulação:

Tempo inicial

Tempo final

Exemplo – Comportamento Senoidal

Page 30: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Usando tempo inicial igual a 10 e final igual a 50:

Tempoinicial

Tempofinal

Exemplo – Comportamento Senoidal

Page 31: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Caso a curva esteja “dentada”, aumente o Fator de Refinamento:

Exemplo – Comportamento Senoidal

Page 32: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Criando um sub-sistema:

Sub-sistema

Exemplo – Comportamento Senoidal

Page 33: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Editando um sub-sistema:

Sub-sistema

Exemplo – Comportamento Senoidal

Page 34: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Algumas vezes é mais fácil tratar os dados gerados no ambiente Matlab.

Usamos o bloco “to workspace”:

Cria a variávelA no workspace

BibliotecaSinks

Exemplo – Comportamento Senoidal

Page 35: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Configuração do bloco “To Workspace”:

Cria a variávelA no workspace

Formato da variável

Exemplo – Comportamento Senoidal

Page 36: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

>> plot(tout,A)

No Workspace...

Exemplo – Comportamento Senoidal

Page 37: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Usando uma função trigonométrica:

BibliotecaSource

BibliotecaMath

Exemplo – Comportamento Senoidal

Page 38: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Ganho (produto):

BibliotecaMath

Exemplo – Comportamento Senoidal

Page 39: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Rotacionar um bloco:

CTRL R

Exemplo – Comportamento Senoidal

Page 40: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Combinando dois sinais:

Entre outras aplicações, permite exibir duas ou mais curvas no mesmo gráfico.

Bloco MUXBiblioteca Signals & Sys.

Exemplo – Comportamento Senoidal

Page 41: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Dois ou mais gráficos:

Exemplo – Comportamento Senoidal

Page 42: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Dois ou mais gráficos:

Configurando...

Exemplo – Comportamento Senoidal

Page 43: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

REPRESENTAÇÃO DE SISTEMAS DINÂMICOS NO ESPAÇO DE ESTADOS

• SISTEMAS DINÂMICOS CONTÍNUOS

• SISTEMAS DINÂMICOS DISCRETOS

]k[Du]k[Cx]k[y]k[Bu]k[Ax]1k[x

+=+=+( ) ( ) ( )

( ) ( ) ( )tDutCxtytButAxtx

+=+=&

BibliotecaContinuous

BibliotecaDiscrete

Page 44: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Exemplos de sistemas dinâmicos contínuos

1) Bungie Jump;

2) Massa-mola-amortecedor sobre uma carreta;

3) Sistema translacional com 3 graus deliberdade;

4) Controle azimutal de uma antena.

Page 45: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

M

b*y’ k*y

M*g

y” = g – k/M*y – b/M*y’

1) Bungie jump

Equação dinâmica:

Representação no espaço de estados:

⎥⎦

⎤⎢⎣

⎡−−

=mbmk

10A ⎥

⎤⎢⎣

⎡=

g0

B

[ ]01C =

Onde:

y: deslocamento em relação ao ponto de fixação da corda;m: massa do corpo;g : aceleração da gravidade;k : fator de elasticidade;b : fator de tração.

[ ]0D =

[ ]Tyyx &=

Page 46: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

M

u

y

kb

M*y” + b/M*y’ + k/M*y =b*u’ + k*u

2) Massa-mola-amortecedor sobre uma carreta;

Equação dinâmica:

Onde:

M: massa do corpo;k : constante da mola;b : coeficiente da atrito viscoso.y : deslocamento da massa;u : deslocamento da carreta.

Representação no espaço de estados:

⎥⎦

⎤⎢⎣

⎡−−

=mbmk

10A [ ]01C = [ ]0D =

( ) ⎥⎦⎤

⎢⎣

⎡−

= 2mbmkmb

B⎥⎦

⎤⎢⎣

⎡β−β−

=uxuy

x11

o

&

Page 47: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

3) Sistema translacional com 3 graus de liberdade

M1 M2

M3

K1K2

fv1 fv2

fv3 fv4

x1 x2

x3 Onde:

• M1, M2, M3 : massas • K1, K2 : constantes das molas;• fv1, fv2, fv3, fv4 : coeficientes de atrito viscosos.• x1,x2,x3 : deslocamentos das massas;

Representação no espaço de estados:

( ) ( )

( )

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

=

+−

+−

+−+−

3M)4fv3fv(

3M4fv

3M3fv

2M4fv

2M4fv2fv

2M2K

2M2K

1M3fv

1M2K

1M3fv1fv

1M2K1K

00000

00100000010000001000

A

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

=

0

0000

B

2M1

[ ]000100C = [ ]0D =⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

=

3x2x1x3x2x1x

x

&

&

&

Page 48: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Onde:

J : momento de inércia;b : amortecimento viscoso;Tc : torque do motor;

: ângulo azimutal

4) Sistema de controle azimutal de uma antena.

CTbJ =θ+θ &&&

Equação dinâmica:

Representação no espaço de estados:

⎥⎦

⎤⎢⎣

⎡−

=Jb0

10A ⎥

⎤⎢⎣

⎡=

J/10

B [ ]01C = [ ]0D =[ ]Tx θθ= &

θ

Page 49: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Exemplos de sistemas dinâmicos discretos

1) Sistema com uma entrada e uma saída;

2) Sistema com duas entradas e uma saída;

A = [0 1;-0.16 -1];

B = [0;1];

C = [1.16 1];

D = 0;

A=[0.9 0.7;0 0.96];

B=[1;2];

C=[1.5 2.5];

D=0;

Page 50: RESOLVENDO PROBLEMAS DE ENGENHARIA COM MATLABchsantos/Extensao/Matlab_2010/Aula_01.pdf · COM MATLAB CURSO DE EXTENSÃO: AULA INAUGURAL. Objetivo: ... Engenheiros de Controle e Automação

Simulando os exemplosno SIMULINK