You are on page 1of 20

Programa de Educao Tutorial

Mini curso bsico


Gilberto A. S. Segundo Fbio Carmo

Universidade Federal do Esprito Santo Departamento de Informtica

Agenda
Apresentao Vetores e matrizes em matlab Comandos bsicos com vetores e matrizes Funes teis Funes de transferncia Comandos usados em controle automtico Grficos Scripts

O MATLAB
O MATLAB (de MATrix LABoratory) um programa produzido pela Mathworks, Inc. (maiores informaes em http://www.mathworks.com), e a grosso modo serve para trabalhar com matrizes e nmeros complexos da mesma forma como uma calculadora trabalha com nmeros reais. Alm disso, ele possui recursos de programao, agindo como uma linguagem procedural, semelhante a C, porm voltada para processamento numrico intensivo. Ele possui tambm programas de projeto de controle e recursos grficos.

Vetores e Matrizes
No Matlab, todos os dados so guardados em forma de matrizes. A declarao de uma varivel segue o formato:
<variavel> = <valor> A = 4; B = A + 8;

Um escalar uma matriz 1 x 1


A = 2; B = 4 + 2i;

Operaes bsicas em um escalar envolvem, entre outras: soma, subtrao, diviso, multiplicao e exponenciao.
B+A 10 / 5 A^5

Vetores e Matrizes
Elementos de uma mesma linha de uma matriz so separados com espaos ou vrgulas e uma nova linha da matriz especificada com um ponto e vrgula.
A = [ 1 2 4; 8 2 9];

Um vetor uma matriz linha ou coluna


C = [ 1, 2, 3, 4]; D = C'

Vetores e Matrizes
Um vetor pode ser definido de outras formas
A = 1:10 A = 1:2:10 ou A = [1:10]
A = 1 2 3 4 5 6 7 8 9 10

ou A = [1:2:10]

A=1 3 5 7 9

A = linspace (0, 100, 6)


A=0 20 40 60 80 100

Operaes entre matrizes


Os operadores so os mesmos das operaes com escalares Deve-se atentar s dimenses das matrizes
A = [1 2 3; 4 5 6]; B = [1 2; 3 4]; B*A uma multiplicao de matrizes B.*B um produto scalar, ou uma multiplicao elemento por elemento

Funes teis
Muitas vezes temos que definir matriz de uns ou zeros
A = zeros (3,4) B = ones (1,3)

Uma matriz identidade pode ser definida com a funo eye


A = eye (3)

Outras funes:
size (A) - retorna as dimenses da matriz det(A) - retorna o determinante da matriz length(X) - retorna a maior dimenso da matriz inv(A) - retorna a inversa da matriz A

Funes teis
rand (1) - Nmero aleatrio entre 0 e 1
Para gerar nmeros aleatrios em outra faixa [a b] basta usar a funo: a + (b-a)*rand(1) Nmero entre 5 e 10: 5 + 5*rand(1)

round (x) Arredonda x para o inteiro mais prximo


floor e ceil arredondam para baixo respectivamente 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

Funes teis
clear remove as variveis declaradas. help comando fornece instrues e exemplos do comando. roots a retorna as razes do polinmio cujos coeficientes esto definidos em A
roots ( [1 2 2] )
ans = -1.0000 + 1.0000i -1.0000 - 1.0000i

Funo de transferncia
Para definir uma funo de transferncia, usam-se 2 mtodos principais.
tf: os argumentos so o numerador e denominador da FT
num = [1 10]; den = [1 20 5]; g = tf (num, den)

zpk: Or argumentos so os zeros , polos e ganho


h = zpk ([ ],[1 10],[100])

possvel multiplicar funes de transferncia


g2 = g*h retorna o zpk g3 = g*tf(h) retorna a funo de transferncia

Funo de transferncia
Passagem para espao de estado:
[A,B,C,D]=tf2ss(num,den) Outras converses ss2tf Converte equaes de estado para funes de transferncia. ss2zp Converte equaes de estado para plos e zeros. zp2ss Converte plos e zeros para equaes de estado. tf2zp Converte funes de transferncia para plos e ros. zp2tf Converte plos e zeros para funes de transferncia.

Funes de CA
Resposta a uma entrada em degrau
step (g) mostra o grfico da resposta da FT g ao degrau [y,t] = step (g) guarda em y a sada do sistema ao degrau e no vetor t os tempos usados da simulao step (h,t) mostra o grfico da resposta da FT h ao degrau, calculada nos tempos do vetor t. stepinfo (g) informaes da resposta ao degrau
Exemplo: G = 1 / (s^3 + 20s^2 + 2s)

Resposta rampa
Multiplica-se o sistema original por 1/s e usa-se a funo step

gf = g*tf ([1],[1 0]); step (gf)

Funes de CA
Resposta a uma entrada qualquer
lsim(g,u,t) mostra a resposta de g entrada u nos tempos definidos no vetor t

Sistema em malha fechada


gf = feedback (g,1) realimenta o sistema com ganho unitrio

Scripts
Podemos salvar sequncias de comandos em scripts com extenso .m Comentrios so feitos com % Para executar o script basta digitar o nome do arquivo, sem a extenso .m Alguns comandos so prprios para scripts
echo on , echo off habilita / desabilita a impresso de todos os comandos e comentrios na tela pause para a execuo 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

If If ( condicao) acao else acao end

Funes em matlab
Devem ser definidas em scripts .m. O script deve ter o mesmo nome da funo
function out = mul (a,b) 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
save teste.mat a b salva as variveis a e b em um arquivo .mat

load arquivo.mat
load teste.mat carrega as variveis do arquivo teste.mat. As variveis mantm os mesmos nomes.

Grficos 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

Exerccios
Crie uma funo que receba 2 vetores, A e B e plote o grfico de AxB Dada a FT g abaixo, crie um script que faa a realimentao unitria e mostre a resposta do sistema realimentado ao degrau e rampa no mesmo grfico. O script deve salvar a funo original, a realimentada e as sadas no arquivo exercicio.mat

You might also like