Você está na página 1de 35

Prof. Ricardo N.

Paiva
Robtica


Aula 01

Matlab: Introduo

1
Matlab: Ferramenta da Engenharia

2
MATLAB um software interativo de alta performance
voltado para o clculo numrico.

O MATLAB integra anlise numrica, clculo com matrizes,
processamento de sinais e construo de grficos em
ambiente fcil de usar onde problemas e solues so
expressos somente como eles so escritos
matematicamente, ao contrrio da programao tradicional.

O MATLAB um sistema interativo cujo elemento bsico de
informao uma matriz que no requer dimensionamento.





O que o Matlab?

3
Um duplo clique no cone MATLAB carrega o aplicativo
MATLAB.

Quando o MATLAB carregado, cinco janelas so exibidas:
Janela de Comando (Command Window)
Histrico de comandos (Command History)
Diretrio atual (Current Directory)
rea de trabalho (Workspace)
Help

A Janela de Comando ativada quando se inicializa o
MATLAB, e o prompt padro (>>) exibido na tela.

A partir desse ponto, o MATLAB espera as instrues do
usurio.

Carregando e abrindo o Matlab

4
Ambiente de Trabalho

5
Janela de comandos

6
Repetindo comandos
Agora a = 2, fao tudo de novo?!

7
Editor de linhas de comando
As teclas com setas podem ser usadas para se
encontrar comandos dados anteriormente, para
execuo novamente ou sua reedio. Por exemplo,
retorna a linha anterior
retorna a linha posterior
move um espao para a esquerda
move um espao para a direita
Ctrl move uma palavra para a esquerda
Ctrl move uma palavra para a direita
Home move para o comeo da linha
End move para o final da linha
Del apaga um caracter a direita
Backspace apaga um caracter a esquerda

8
Exemplo: corrigindo comandos


9
Criando um arquivo de comandos: M-file
File => New => M-file

10
Rodando o arquivo de comandos: M-file
No menu do editor de M-file
Save as ...
Debug => Run

Na janela de comandos
>> somatorio

11
Nmeros
A notao decimal convencional, com ponto
decimal opcional e o sinal de menos, usada
para nmeros.
A potncia de dez pode ser includa como um
sufixo.
A seguir so mostrados alguns exemplos de
nmeros aceitos:

3 -99 0.00001
9.637458638 1.602E-20 6.06375e23


12
Nmeros complexos
Nmeros complexos so permitidos em todas operaes e
funes no MATLAB.
Os nmeros complexos so introduzidos usando-se as
funes especiais i e j.
Por exemplo
>> z= 3 + 4*i
>> z= 3 +4*j
>> w= r * exp(i*theta)
Se i ou j forem usados como variveis, de forma que
tenham seus valores originais modificados, uma nova
unidade complexa dever ser criada e utilizada de maneira
usual:
>> ii = sqrt(-1);
>> z = 3 + 4*ii

13
Expresses aritmticas
As expresses podem ser construdas usando os
operadores aritmticos usuais e as regras de
precedncia:






Deve-se notar que existem dois smbolos para
diviso: as expresses 1/4 e 4\1 possuem o
mesmo valor numrico, isto , 0.25.

1 ^ exponenciao
2 / diviso a direita
2 \ diviso a esquerda
3 * multiplicao
4 + adio
4 - subtrao


14
Formato de sada
O formato numrico exibido na tela pode ser modificado
utilizando-se o comando format, que afeta somente o modo
como as matrizes so mostradas, e no como elas so
computadas ou salvas (o MATLAB efetua todas operaes em
dupla preciso).
Se todos os elementos das matrizes so inteiros exatos, a
matrizes mostrada em um formato sem qualquer ponto
decimal. Por exemplo,

>> x = [-1 0 1]

sempre resulta em

x =
-1 0 1

15
Formato de sada
Se pelo menos um dos elementos da matriz no inteiro exato,
existem vrias possibilidades de formatar a sada. O formato
default, chamado de formato short, mostra aproximadamente
5 dgitos significativos ou usam notao cientfica. Por exemplo a
expresso

>> x = [4/3 1.2345e-6]

mostrada, para cada formato usado, da seguinte maneira:

16
format short 1.3333 0.0000
format short e 1.3333e+000 1.2345e-006
format long 1.33333333333333 0.000000123450000
format long e 1.333333333333333e+000 1.234500000000000e-006
format hex 3ff5555555555555 3eb4b6231abfd271
format rat 4/3 1/810045
format bank 1.33 0.00
format + ++
Criando variveis
Char Array
Matriz
Tipos Bsicos
Estrutura
Case Sensitive! CaSe SeNsI tI vE!

17
Criando uma matriz:
As matrizes podem ser criadas no MATLAB por
diferentes caminhos:
- digitadas na Janela de Comando (lista explcita
de elementos),
- geradas por comandos e funes,
- criadas em arquivos ".m",
- carregadas a partir de um arquivo de dados
externo.

18
Criando uma matriz na janela de comandos:
Os elementos de cada linha da matriz so separados
por espaos em branco ou vrgulas e as colunas
separadas por ponto e vrgula, colocando-se
colchetes em volta do grupo de elementos que
formam a matriz.

Por exemplo, entre com a expresso

>> A=[ 1 2 3;4 5 6;7 8 9 ]

Pressionando <enter> o MATLAB mostra o resultado

A=
l 2 3
4 5 6
7 8 9

19
Criando uma matriz na janela de comandos:
As matrizes podem, tambm, ser introduzidas linha
a linha, o que indicado para matrizes de grande
dimenso. Por exemplo:

>>A = [1 2 3
4 5 6
7 8 9]


Pressionando <enter> o MATLAB mostra o resultado

A=
l 2 3
4 5 6
7 8 9

20
Criando uma matriz via arquivo texto .m:
Outra maneira para entrar com matrizes no MATLAB
atravs de um arquivo no formato texto com
extenso ".m".
Por exemplo, se um arquivo chamado "gera.m"
contm estas trs linhas de texto,
A=[1 2 3
4 5 6
7 8 9]
>> gera

Pressionando <enter> o MATLAB mostra o resultado
A=
l 2 3
4 5 6
7 8 9

21
Exemplo: criando matrizes


22
Criando uma matriz complexa:
As seguintes declaraes mostram dois caminhos
convenientes para se introduzir matrizes complexas
no MATLAB:

>> A= [1 2; 3 4]+i*[5 6;7 8]

e

>> A= [1+5*i 2+6*i; 3+7*i 4+8*i]

que produzem o mesmo resultado.
A =
1.0000 + 5.0000i 2.0000 + 6.0000i
3.0000 + 7.0000i 4.0000 + 8.0000i

23
Criando um char array:

24
Banco de Dados da Turma:
Alunos: Carla, J oo, Bruno, Luis, Marcela
Professor: Marcelo
Horrio: 13h
Sala: 221
Estrutura de dados

25
Informaes da rea de trabalho
Workspace
Os exemplos de declaraes mostrados nos itens acima criaram
variveis que so armazenadas na rea de Trabalho do
MATLAB. Executando o comando who obtm-se uma lista das
variveis armazenadas na rea de Trabalho:

>> who

Your variables are:

A horario nomes sala
ans nome professor x

Que mostra as variveis geradas em nossos exemplos,
incluindo ans.

26
Informaes da rea de trabalho
Workspace
Uma informao mais detalhada mostrando a dimenso de
cada uma das variveis correntes obtido com o comando
whos que para nosso exemplo produz:

>> whos
Name Size Bytes Class Attributes
A 2x2 64 double complex
ans 1x1 8 double
horario 1x1 8 double
nome 1x12 24 char
nomes 5x7 70 char
professor 1x8 16 char
sala 1x4 8 char
x 1x2 16 double

27
Comando who e whos

28
Dicas!
Use A=0:0.5:10 para gerar matrizes com dados em
seqncia.
Use ; para evitar que o resultado aparea na tela.
Use clear A para apagar a varivel A.
Use size(A) para identificar as dimenses da matriz.
A maior dimenso dada pelo comando length(A)
Use clear all para apagar todas as variveis
armazenadas.

29
A1= 1.5:pi/4:pi
A2= 1:pi/4:pi
A3= 1.2:pi/4:pi
A=[A1;A2;A3]
A(3,3)= A(1,3) + A(3,1)
A(1:2,3)

Criando matrizes e vetores

30
D= linspace(0,1,6)
LINSPACE Linearly spaced vector.
LINSPACE(X1, X2) generates a row vector of 100
linearly equally spaced points between X1 and X2.
LINSPACE(X1, X2, N) generates N points between
X1 and X2.
For N < 2, LINSPACE returns X2.

Criando matrizes e vetores

31
Soma e subtrao: soma (ou subtrai) elemento por
elemento da matriz.
A+B
A-B

Multiplicao e diviso de matrizes: ateno s regras
da lgebra, pois as dimenses das matrizes tm que
ser coerentes!
A * B
A / B

Multiplicao e diviso elemento por elemento:
A .* B
A ./ B
Operaes matemticas simples

32
Matriz Transposta:
A

Cria Matriz Identidade:
eye(nmero de linhas, nmero de colunas)

Cria Matriz de Zeros:
zeros(nmero de linhas, nmero de colunas)

Cria Matriz de Uns:
ones(nmero de linhas, nmero de colunas)

Cria Matriz Aleatria (composta de nmeros aleatrios):
rand(nmero de linhas, nmero de colunas)
Operaes matemticas simples

33
Determinante:
det(matriz)

Inversa:
inv(matriz)

Dimenses da matriz:
size(matriz)
length(matriz)
numel(matriz)

Inverte a direo em torno do eixo horizontal:
flipud(matriz)

Inverte a direo em torno do eixo vertical:
fliplr(matriz)
Operaes matemticas simples

34
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
Elemento = Matriz(2,3) ou Matriz(10)

35
Referncia a um elemento de uma matriz