Programa de Educação Tutorial de Engenharia Elétrica Max...
Transcript of Programa de Educação Tutorial de Engenharia Elétrica Max...
Minicurso de MATLAB
Programa de Educação Tutorial de Engenharia Elétrica
Max Rodrigues
Caroline Pereira
Nayara Medeiros
Ementa aula de hoje:
Técnicas de programação;
Operações lógicas;
Estruturas condicionais;
Estruturas de repetição;
Toolboxes;
Simulink.
Técnicas de Programação
Além de ser utilizado como calculadora o Matlab pode ser utilizados para programação de diversos tipos.
Como simples códigos, manipulação de imagens e simulações.
Operações lógicas e relacionais
Operador Descrição
< Menor que
<= Menor ou igual a
> Maior que
>= Maior ou igual a
== Igual a (não confundir com ‘=’ )
~= Diferente de
& E
|| OU
~ NÃO
Estruturas Condicionais
A estrutura if pode ser implementada no Matlab de três formas diferentes, são elas:
-Primeira forma:
>>if condição
comandos
end
Estruturas Condicionais
-Segunda forma:
>>if condição1
comandos1
else
comandos2
end
Estruturas Condicionais
-Terceira forma:
>>if condição1
comandos1
elseif condição2
comandos2
[...]
else
comandosN
end
Estruturas Condicionais
Estruturas Condicionais
Estrutura switch-case:
Estruturas Condicionais
Estruturas de Repetição
O Matlab possui as seguintes estruturas de repetição: Estrutura for:
>>for variável=inic:incr:fim
comandos
end
Estruturas de Repetição
O Matlab possui as seguintes estruturas de repetição: Estrutura while:
>>while condição
comandos
end
Obs.: Lembrar de colocar o incremento.
Estruturas de Repetição
A condição da estrutura for é a variável ser menor ou igual a m.
Enquanto satisfeita essa condição(ele fica no loop), ao término de cada loop de comandos, variável é incrementada de incr.
O incremento incr é considerado unitário caso seja omitido.
Estruturas de Repetição
Cálculo de média usando for:
Estruturas de Repetição
Cálculo da média usando while
Exercícios
Escreva um programa que calcule sucessivamente a raiz quadrada de números maiores que um (1) introduzidos pelo usuário, até que este indique o número igual a um.
Utilize a função sqrt(x) para calcular a raiz quadrada e input para ler os valores.
Exercícios
Escreva uma função que, dada uma sequência y, com n números, determine quantos e quais os elementos que são maiores do que a soma dos seus vizinhos.
Ex: y=(7 3 5 1 4 12 5 8)
Resposta: 7, 5, 12, 8
4 elementos
Toolboxes
ToolBoxes são um conjunto de arquivos .m e .mat (chamados de scripts e kernels) que são acrescentados ao MatLab e são específicos para realização de uma determinada tarefa ou solucionar determinado problema.
Existem ToolBoxes com programas para as mais diversas áreas como já foi citado(iremos focar no de matemática simbólica e sistema de controle e simulink).
Não é toolboxes, muito
utilizado para simulações.
l Para saber quais toolboxes você possui (além de informações sobre, basta utilizar o comando “ver” no command window). Toolboxes
Alguns toolboxes importantes: Signal Processing Toolbox
Math simbolics Toolboxes
Sistema de controle Toolboxes
Toolboxes
Toolboxes lSymbolic Math Toolbox: O Symbolic Math é um ToolBox que tem por finalidade operar com variáveis literais. Este Toolbox possui funções como:
>>eval >>solve
>>expand
>>simplify
>>diff >>int
Toolboxes lEval
Define a variável simbólica x;
Solução de uma equação
algébrica simbólica (x²+x+2=3)
Soluções da
equação algébrica
Simplificação das soluções
com o “eval”
lSolve
Obs.: Eval serve para simplificar literal e numérica,
porém simplify somente literais.
Toolboxes
lExpand (expansão)
Simplify (simplificação)
Toolboxes ldiff (diferenciação)
Toolboxes lint (integração)
Toolboxes lRepresentação gráfica de expressões simbólicas (ezplot)
Toolboxes l
O comando ezplot traça o gráfico no domínio −2𝜋 ≤ 𝑥 ≤ 2𝜋
Para especificar o domínio de x para, por exemplo, −10 ≤ 𝑥 ≤ 10
fazemos o seguinte:
Toolboxes sistema de controle Utilizado na disciplina sistemas de controle >>rlocus(t) >>bode(t) >>pole(t) >>margin(t) Para fazer a função transfrência: >>tf(num) >>zpk(num)
Como declarar uma função transfência:
rlocus
bode()
pole()
margin()
Exercícios:
Encontre o lugar das raízes e as curvas de bode.
Simulink
O Simulink é uma ferramenta utilizada para modelagem, simulação e
análise de Sistemas Dinâmicos. O programa se aplica a sistemas lineares e
não lineares, discretos e contínuos no tempo.
Ao contrário do MATLAB, que utiliza linha de comando, o Simulink
utiliza uma interface gráfica amigável, representando o sistema por diagramas
de blocos, no qual cada bloco representa uma operação matemática de
entrada e saída que chama-se função de transferência do bloco. Nos sistemas
contínuos, estas relações são obtidas utilizando-se a transformada de Laplace
nas equações. Não podemos deixar de enfatizar que apesar do Simulink ser
uma aplicação específica, este não trabalha independentemente do MATLAB.
Acessando o Simulink
É possível acessá-lo de duas maneiras:
- Digitando a palavra ‘Simulink’ no Command Window
- Ou clicando no ícone da barra de ferramentas
Componentes de um modelo Simulink - Fontes
São as entradas do sistema e estão presentes na biblioteca de fontes
(sources). A seguir, apresentamos as fontes mais comuns:
• O bloco Constante (Constant) produz um sinal uniforme. A magnitude pode
ser escolhida com um duplo clique sobre o bloco.
• O bloco Degrau (Step) produz uma função degrau. Pode-se configurar o
instante em que se aplica o degrau, assim como sua magnitude antes e depois
da transição.
• O bloco de Onda Senoidal (Sine Wave) gera uma senoide com os seguintes
parâmetros a serem configurados: amplitude, fase e frequência da onda
senoidal.
• O Gerador de Sinais (Signal Generator) pode produzir ondas senoidais,
quadradas, dente de serra ou sinais aleatórios.
• Outros sinais podem ser gerados a partir de combinações destes blocos
apresentados
Componentes de um modelo Simulink
-Diagramas de blocos
É a modelagem por meio de blocos utilizando-se a transformada de
Laplace nas equações do sistema.
- Saídas Os dispositivos de saída são os blocos que permitem verificar o
comportamento do sistema, estes blocos são encontrados na biblioteca de
dispositivos de saída (Sinks).
Construindo modelos
Para realizar uma construção da modelagem do sistema
selecione File>>New Model, ou se preferir, selecione o ícone .
Em seguida, uma janela nomeada untitled se abrirá.
Para adicionar os blocos,
deve-se arrastar os
componentes da
Biblioteca de blocos
(Library Browser) para a
área de trabalho.
Criando simulações
Gerador de sinais
Passos
1) Carregue o Simulink;
2) Insira o Signal Generator (Gerador de sinais)
Entre a lista de opções do Library Browser (Browser de biblioteca), clique
em Simulink, que é uma biblioteca de blocos; Clique em Source, que é
um tipo de bloco de fonte de sinal; Selecione Signal Generator e arraste
este bloco para a área de trabalho do novo documento aberto;
3) Insira os blocos do sistema modelado
4) Insira os dispositivos de saída, por exemplo, o Scope (oscilosópio)
Clique em Commonly Used Blocks e insira o Scope
5) Faça a conexão entre os blocos
Faça um caminho com o mouse ligando os componentes
Criando simulações
Gerador de sinais (Continuação)
6) Propriedades do gerador de sinais
Dê um duplo clique sobre o Signal
Generator. Escolha a forma de
onda (wave form) dente de serra
(sawtooth) com frequência de 1 Hz
com uma amplitude de 2.
Gerador de sinais
7) Propriedades da simulação
Na barra de menu, selecione
Simulation e escolha Model
Configuration Parameters.
Aqui são definidos,
principalmente, o tempo inicial
e final da simulação, assim
como o passo da simulação.
Em Stop Time, coloque 20.
Clique em OK para confirmar
as alterações.Clique em Start
Simulation para realizar a
simulação;
Dê um duplo clique
sobre o osciloscópio
para visualizar a
onda.
Gerador de sinais
8) Armazenando o trabalho
Para armazenar o trabalho clique em File/Save ou pressione
CTRL+S; e entre com o local e nome da simulação. O tipo do
arquivo é .mdl.
Criando simulações
Problema com uma equação diferencial
Modelando a seguinte equação
Com a seguinte condição inicial: x(0) = 0
Temos
Criando simulações
Problema com uma equação diferencial
Monte o diagrama de blocos:
- Insira o bloco Sine Wave (onda senoidal) da biblioteca Source;
- Insira o bloco Integrator (integrador) da biblioteca Continuous (blocos
lineares);
- Insira o Scope (Osciloscópio) da biblioteca Commonly Used Blocks;
Criando simulações
Criando simulações
Considerando o sistema massa-mola
amortecido de segunda ordem excitado
por uma força F. Faça a modelagem do
mesmo
Sendo a massa do corpo m = 5 kg,
admitindo o coeficiente de amortecimento
c = 1 N × s/m e a constante elástica da
mola k = 2 N/m, considerando-se a
deflexão inicial xo = 1 m. Não há entradas
no sistema. Considerando as forças no
sistema dinâmico notamos a presença a
força da mola e a força de
amortecimento. A força da mola é −k × x
e a força de amortecimento é −c × x˙.
Sistema massa-mola amortecido
Criando simulações
Sistema massa-mola amortecido
Para as condições iniciais:
Fazendo a transformada de Laplace:
A função transferência do sistema é dada por: