aula 01 matlab introducao

35
Prof. Ricardo N. Paiva Robótica Aula 01 Matlab: Introdução 1

Upload: abreu518

Post on 30-Dec-2015

7 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Aula 01 Matlab Introducao

Prof. Ricardo N. Paiva

Robótica

Aula 01

Matlab: Introdução

1

Page 2: Aula 01 Matlab Introducao

Matlab: Ferramenta da Engenharia

2

Page 3: Aula 01 Matlab Introducao

• MATLAB é um “software” interativo de alta performance voltado para o cálculo numérico.

• O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional.

• O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz que não requer dimensionamento.

O que é o Matlab?

3

Page 4: Aula 01 Matlab Introducao

• Um duplo clique no ícone MATLAB carrega o aplicativo MATLAB.

• Quando o MATLAB é carregado, cinco janelas são exibidas: • Janela de Comando (Command Window) • Histórico de comandos (Command History) • Diretório atual (Current Directory) • Área de trabalho (Workspace) • Help

• A Janela de Comando é ativada quando se inicializa o MATLAB, e o “prompt” padrão (>>) é exibido na tela.

• A partir desse ponto, o MATLAB espera as instruções do usuário.

Carregando e abrindo o Matlab

4

Page 5: Aula 01 Matlab Introducao

Ambiente de Trabalho

5

Page 6: Aula 01 Matlab Introducao

Janela de comandos

6

Page 7: Aula 01 Matlab Introducao

Repetindo comandos Agora a = 2, faço tudo de novo?!

7

Page 8: Aula 01 Matlab Introducao

Editor de linhas de comando

As teclas com setas podem ser usadas para se encontrar comandos dados anteriormente, para execução novamente ou sua reedição. Por exemplo,

↑ retorna a linha anterior

↓ retorna a linha posterior

← move um espaço para a esquerda

→ move um espaço para a direita

Ctrl ← move uma palavra para a esquerda

Ctrl → move uma palavra para a direita

Home move para o começo da linha

End move para o final da linha

Del apaga um caracter a direita

Backspace apaga um caracter a esquerda

8

Page 9: Aula 01 Matlab Introducao

Exemplo: corrigindo comandos

9

Page 10: Aula 01 Matlab Introducao

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

10

Page 11: Aula 01 Matlab Introducao

Rodando o arquivo de comandos: M-file • No menu do editor de M-file

Save as ... Debug => Run

• Na janela de comandos

>> somatorio

11

Page 12: Aula 01 Matlab Introducao

Números

• A notação decimal convencional, com ponto decimal opcional e o sinal de menos, é usada para números.

• A potência de dez pode ser incluída como um sufixo.

• A seguir são mostrados alguns exemplos de números aceitos:

3 -99 0.00001

9.637458638 1.602E-20 6.06375e23

12

Page 13: Aula 01 Matlab Introducao

Números complexos

• Números complexos são permitidos em todas operações e funções no MATLAB.

• Os números complexos são introduzidos usando-se as funções 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 variáveis, 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

Page 14: Aula 01 Matlab Introducao

Expressões aritméticas

• As expressões podem ser construídas usando os operadores aritméticos usuais e as regras de precedência:

• Deve-se notar que existem dois símbolos para divisão: as expressões 1/4 e 4\1 possuem o mesmo valor numérico, isto é, 0.25.

1 ^ exponenciação 2 / divisão a direita 2 \ divisão a esquerda 3 * multiplicação 4 + adição 4 - subtração

14

Page 15: Aula 01 Matlab Introducao

Formato de saída

O formato numérico exibido na tela pode ser modificado utilizando-se o comando format, que afeta somente o modo como as matrizes são mostradas, e não como elas são computadas ou salvas (o MATLAB efetua todas operações em dupla precisão). Se todos os elementos das matrizes são 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

Page 16: Aula 01 Matlab Introducao

Formato de saída • Se pelo menos um dos elementos da matriz não é inteiro exato,

existem várias possibilidades de formatar a saída. O formato “default”, chamado de formato short, mostra aproximadamente 5 dígitos significativos ou usam notação científica. Por exemplo a expressão

>> 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 + ++

Page 17: Aula 01 Matlab Introducao

Criando variáveis

Char Array Matriz

Tipos Básicos

Estrutura

Case Sensitive! CaSe SeNsItIvE!

17

Page 18: Aula 01 Matlab Introducao

Criando uma matriz:

As matrizes podem ser criadas no MATLAB por diferentes caminhos: - digitadas na Janela de Comando (lista explícita

de elementos), - geradas por comandos e funções, - criadas em arquivos ".m", - carregadas a partir de um arquivo de dados

externo.

18

Page 19: Aula 01 Matlab Introducao

Criando uma matriz na janela de comandos:

Os elementos de cada linha da matriz são separados por espaços em branco ou vírgulas e as colunas separadas por ponto e vírgula, colocando-se colchetes em volta do grupo de elementos que formam a matriz. Por exemplo, entre com a expressão >> 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

Page 20: Aula 01 Matlab Introducao

Criando uma matriz na janela de comandos:

As matrizes podem, também, ser introduzidas linha a linha, o que é indicado para matrizes de grande dimensão. 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

Page 21: Aula 01 Matlab Introducao

Criando uma matriz via arquivo texto .m:

Outra maneira para entrar com matrizes no MATLAB é através de um arquivo no formato texto com extensão ".m". Por exemplo, se um arquivo chamado "gera.m" contém estas três 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

Page 22: Aula 01 Matlab Introducao

Exemplo: criando matrizes

22

Page 23: Aula 01 Matlab Introducao

Criando uma matriz complexa:

As seguintes declarações 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

Page 24: Aula 01 Matlab Introducao

Criando um “char array”:

24

Page 25: Aula 01 Matlab Introducao

Banco de Dados da “Turma”: Alunos: Carla, João, Bruno, Luis, Marcela Professor: Marcelo Horário: 13h Sala: 221

Estrutura de dados

25

Page 26: Aula 01 Matlab Introducao

Informações da área de trabalho Workspace Os exemplos de declarações mostrados nos itens acima criaram variáveis que são armazenadas na Área de Trabalho do MATLAB. Executando o comando who obtêm-se uma lista das variáveis armazenadas na Área de Trabalho: >> who Your variables are: A horario nomes sala ans nome professor x Que mostra as variáveis geradas em nossos exemplos, incluindo ans.

26

Page 27: Aula 01 Matlab Introducao

Informações da área de trabalho Workspace Uma informação mais detalhada mostrando a dimensão de cada uma das variáveis 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

Page 28: Aula 01 Matlab Introducao

Comando “who” e “whos”

28

Page 29: Aula 01 Matlab Introducao

Dicas!

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.

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

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

29

Page 30: Aula 01 Matlab Introducao

• 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

Page 31: Aula 01 Matlab Introducao

• 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

Page 32: Aula 01 Matlab Introducao

• Soma e subtração: soma (ou subtrai) elemento por elemento da matriz. A+B A-B

• 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 * B A / B

• Multiplicação e divisão elemento por elemento:

A .* B A ./ B

Operações matemáticas simples

32

Page 33: Aula 01 Matlab Introducao

• Matriz Transposta: A’

• Cria Matriz Identidade:

eye(número de linhas, número de colunas) • Cria Matriz de Zeros:

zeros(número de linhas, número de colunas)

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

• Cria Matriz Aleatória (composta de números aleatórios):

rand(número de linhas, número de colunas)

Operações matemáticas simples

33

Page 34: Aula 01 Matlab Introducao

• Determinante: det(matriz)

• Inversa:

inv(matriz) • Dimensões da matriz:

size(matriz) length(matriz) numel(matriz)

• Inverte a direção em torno do eixo horizontal: flipud(matriz)

• Inverte a direção em torno do eixo vertical: fliplr(matriz)

Operações matemáticas simples

34

Page 35: Aula 01 Matlab Introducao

1 5 9 13

2 6 10 14

3 7 11 15

4 8 12 16

Elemento = Matriz(2,3) ou Matriz(10)

35

Referência a um elemento de uma matriz