Sie sind auf Seite 1von 20
Programa de Educação Tutorial Mini curso básico Gilberto A. S. Segundo Fábio Carmo Universidade Federal
Programa de Educação Tutorial Mini curso básico Gilberto A. S. Segundo Fábio Carmo Universidade Federal

Programa de Educação Tutorial

Mini curso básico

Gilberto A. S. Segundo Fábio Carmo

Mini curso básico Gilberto A. S. Segundo Fábio Carmo Universidade Federal do Espírito Santo Departamento de

Universidade Federal do Espírito Santo Departamento de Informática

Agenda Apresentação Vetores e matrizes em matlab Comandos básicos com vetores e matrizes Funções úteis

Agenda

Apresentação Vetores e matrizes em matlab Comandos básicos com vetores e matrizes Funções úteis Funções de
Vetores e matrizes em matlab Apresentação Comandos básicos com vetores e matrizes Funções úteis Funções de transferência Comandos usados em
Comandos básicos com vetores e matrizes Apresentação Vetores e matrizes em matlab Funções úteis Funções de transferência Comandos usados em controle
Funções úteis matrizes em matlab Comandos básicos com vetores e matrizes Funções de transferência Comandos usados em controle
Funções de transferência matlab Comandos básicos com vetores e matrizes Funções úteis Comandos usados em controle automático Gráficos Scripts
Comandos usados em controle automático matrizes em matlab Comandos básicos com vetores e matrizes Funções úteis Funções de transferência Gráficos Scripts
Gráficos com vetores e matrizes Funções úteis Funções de transferência Comandos usados em controle automático Scripts
Scriptscom vetores e matrizes Funções úteis Funções de transferência Comandos usados em controle automático Gráficos

O MATLAB O MATLAB (de MATrix LABoratory) é um programa produzido pela Mathworks, Inc. (maiores

O MATLAB

O MATLAB

O MATLAB (de MATrix LABoratory) é um programa produzido pela Mathworks, Inc. (maiores informações em http://www.mathworks.com), e a grosso modo serve para trabalhar com matrizes e números complexos da mesma forma como uma calculadora trabalha com números reais. Além disso, ele possui recursos de programação, agindo como uma linguagem procedural, semelhante a C, porém voltada para processamento numérico intensivo. Ele possui também programas de projeto de controle e recursos gráficos.

Vetores e Matrizes No Matlab, todos os dados são matrizes. A declaração de uma variável
Vetores e Matrizes No Matlab, todos os dados são matrizes. A declaração de uma variável
Vetores e Matrizes
No
Matlab,
todos
os
dados
são
matrizes.
A declaração de uma variável segue o formato:
<variavel> = <valor>
A = 4;
B = A + 8;
Um escalar é uma matriz 1 x 1
A = 2;
B = 4 + 2i;
B + A
10 / 5
A ^ 5

guardados

em

forma

de

Operações básicas em um escalar envolvem, entre outras:

soma, subtração, divisão, multiplicação e exponenciação.

Vetores e Matrizes A = [ 1 2 4; 8 2 9]; C = [
Vetores e Matrizes A = [ 1 2 4; 8 2 9]; C = [
Vetores e Matrizes
A = [ 1 2 4; 8 2 9];
C = [ 1, 2, 3, 4];
D = C'

Elementos de uma mesma linha de uma matriz são separados com espaços ou vírgulas e uma nova linha da matriz é especificada com um ponto e vírgula.

Um vetor é uma matriz linha ou coluna

Vetores e Matrizes Um vetor pode ser definido formas A = 1:10 ou A =
Vetores e Matrizes
Um
vetor
pode
ser
definido
formas
A = 1:10
ou
A = [1:10]
A = 1
2
3
4
5
6
7
8
9
10
A = 1:2:10
ou
A = [1:2:10]
A = 1
3
5
7
9
A = linspace (0, 100, 6)
A = 0
20
40
60
80
100
8 9 10 A = 1:2:10 ou A = [1:2:10] A = 1 3 5 7

de

outras

Operações entre matrizes Os operadores são os mesmos das operações com escalares Deve-se atentar às
Operações entre matrizes
Operações entre
matrizes

Os operadores são os mesmos das operações com escalares Deve-se atentar às dimensões das matrizes

A = [1 2 3; 4 5 6]; B = [1 2; 3 4]; B*A é uma multiplicação de matrizes B.*B é um produto scalar, ou uma multiplicação elemento por elemento

Funções úteis A = zeros (3,4) B = ones (1,3) A = eye (3) Outras
Funções úteis A = zeros (3,4) B = ones (1,3) A = eye (3) Outras
Funções úteis
A = zeros (3,4)
B = ones (1,3)
A = eye (3)
Outras funções:
size (A)
det(A)
inv(A)
- retorna a inversa da matriz A

- retorna as dimensões da matriz - retorna o determinante da matriz

Muitas vezes temos que definir matriz de uns ou zeros

Uma matriz identidade pode ser definida com a função eye

length(X) - retorna a maior dimensão da matriz

Funções úteis rand (1) - Número aleatório entre 0 e 1 floor e ceil arredondam
Funções úteis rand (1) - Número aleatório entre 0 e 1 floor e ceil arredondam
Funções úteis
rand (1) - Número aleatório entre 0 e 1
floor
e
ceil
arredondam
para
baixo
respectivamente

Para gerar números aleatórios em outra faixa [a b] basta usar a função: a + (b-a)*rand(1) Número entre 5 e 10: 5 + 5*rand(1)

round (x) – Arredonda x para o inteiro mais próximo

para

cima,

max (x), min (x) – retorna o maior e menor elemento do vetor, respectivamente

No caso de uma matriz, retorna o maior / menor elementos de cada coluna

Funções úteis roots ( [1 2 2] ) ans = -1.0000 + 1.0000i -1.0000 -
Funções úteis roots ( [1 2 2] ) ans = -1.0000 + 1.0000i -1.0000 -
Funções úteis
roots ( [1 2 2] )
ans =
-1.0000 + 1.0000i
-1.0000 - 1.0000i

clear – remove as variáveis declaradas. help comando – fornece instruções e exemplos do comando. roots a – retorna as raízes do polinômio cujos coeficientes estão definidos em A

Função de transferência num = [1 10]; den = [1 20 5]; g = tf
Função de transferência num = [1 10]; den = [1 20 5]; g = tf
Função de transferência
num = [1 10];
den = [1 20 5];
g = tf (num, den)
h = zpk ([ ],[1 10],[100])

Para definir uma função de transferência, usam-se 2 métodos principais.

tf: os argumentos são o numerador e denominador da FT

zpk: Or argumentos são os zeros , polos e ganho

É possível multiplicar funções de transferência

g2 = g*h – retorna o zpk g3 = g*tf(h) – retorna a função de transferência

Função de transferência Passagem para espaço de estado: [A,B,C,D]=tf2ss(num,den) Outras conversões zp2tf –
Função de transferência Passagem para espaço de estado: [A,B,C,D]=tf2ss(num,den) Outras conversões zp2tf –
Função de transferência
Passagem para espaço de estado:
[A,B,C,D]=tf2ss(num,den)
Outras conversões
zp2tf
Converte
pólos
e
zeros
transferência.

ss2tf – Converte equações de estado para funções de transferência. ss2zp – Converte equações de estado para pólos e zeros. zp2ss – Converte pólos e zeros para equações de estado. tf2zp – Converte funções de transferência para pólos e ros.

de

para

funções

Funções de CA Resposta a uma entrada em degrau Exemplo: G = 1 / (s^3
Funções de CA Resposta a uma entrada em degrau Exemplo: G = 1 / (s^3
Funções de CA
Resposta a uma entrada em degrau
Exemplo: G = 1 / (s^3 + 20s^2 + 2s)
Resposta à rampa
gf = g*tf ([1],[1 0]);
step (gf)

step (g) – mostra o gráfico da resposta da FT g ao degrau [y,t] = step (g) – guarda em y a saída do sistema ao degrau e no vetor t os tempos usados da simulação step (h,t) – mostra o gráfico da resposta da FT h ao degrau, calculada nos tempos do vetor t. stepinfo (g) – informações da resposta ao degrau

Multiplica-se o sistema original por 1/s e usa-se a função step

Funções de CA Sistema em malha fechada Resposta a uma entrada qualquer lsim(g,u,t) – mostra
Funções de CA Sistema em malha fechada
Funções de CA
Sistema em malha fechada

Resposta a uma entrada qualquer

lsim(g,u,t) – mostra a resposta de g à entrada u nos tempos definidos no vetor t

gf = feedback (g,1) – realimenta o sistema com ganho unitário

Scripts Podemos salvar sequências de comandos em scripts com extensão .m Comentários são feitos com
Scripts
Scripts

Podemos salvar sequências de comandos em scripts com extensão .m Comentários são feitos com % Para executar o script basta digitar o nome do arquivo, sem a extensão .m Alguns comandos são próprios para scripts

echo on , echo off – habilita / desabilita a impressão de todos os comandos e comentários na tela pause – para a execução do script até que alguma tecla seja pressionada

Fluxo de controle For For i = 1:10 v(i) = i; w(i) = 2*v(i); End
Fluxo de controle
For
For i = 1:10
v(i) = i;
w(i) = 2*v(i);
End
If
If ( condicao)
acao
else
acao
end
Fluxo de controle For For i = 1:10 v(i) = i; w(i) = 2*v(i); End If
Funções em matlab function out = mul (a,b) Devem ser definidas em scripts .m. O

Funções em matlab

Funções em matlab function out = mul (a,b)

function out = mul (a,b)

Devem ser definidas em scripts .m. O script deve ter o mesmo nome da função

if (length (a) ~= length(b)) error ('Os vetores a e b devem ser do mesmo tamanho'); else out = a.*b; end

Salvando e carregando os resultados save arquivo.mat variaveis load arquivo.mat save teste.mat a b –
Salvando e carregando os resultados save arquivo.mat variaveis load arquivo.mat
Salvando e carregando
os resultados
save arquivo.mat variaveis
load arquivo.mat

save teste.mat a b – salva as variáveis a e b em um arquivo .mat

load teste.mat – carrega as variáveis do arquivo teste.mat. As variáveis mantém os mesmos nomes.

Gráficos em matlab x = 0:0.1:2*pi ; plot ( x , sin (x) , 'r-'

Gráficos em matlab

x = 0:0.1:2*pi ; plot ( x , sin (x) , 'r-' , x , cos (x) , 'b-*' ) legend ( ' seno ' , 'cosseno ' , 'location' , 'southwest' ) title ( 'seno e cosseno ' ) xlabel ( ' eixo x ' ) ylabel ( ' eixo y ' ) grid on

Exercícios Crie uma função que receba 2 vetores, A e B e plote o gráfico
Exercícios
Exercícios

Crie uma função que receba 2 vetores, A e B e plote o gráfico de AxB Dada a FT g abaixo, crie um script que faça a realimentação unitária e mostre a resposta do sistema realimentado ao degrau e à rampa no mesmo gráfico. O script deve salvar a função original, a realimentada e as saídas no arquivo exercicio.mat