aula 01 matlab introducao
TRANSCRIPT
![Page 1: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/1.jpg)
Prof. Ricardo N. Paiva
Robótica
Aula 01
Matlab: Introdução
1
![Page 2: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/2.jpg)
Matlab: Ferramenta da Engenharia
2
![Page 3: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/3.jpg)
• 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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/4.jpg)
• 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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/5.jpg)
Ambiente de Trabalho
5
![Page 6: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/6.jpg)
Janela de comandos
6
![Page 7: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/7.jpg)
Repetindo comandos Agora a = 2, faço tudo de novo?!
7
![Page 8: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/8.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/9.jpg)
Exemplo: corrigindo comandos
9
![Page 10: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/10.jpg)
Criando um arquivo de comandos: M-file File => New => M-file
10
![Page 11: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/11.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/12.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/13.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/14.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/15.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/16.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/17.jpg)
Criando variáveis
Char Array Matriz
Tipos Básicos
Estrutura
Case Sensitive! CaSe SeNsItIvE!
17
![Page 18: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/18.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/19.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/20.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/21.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/22.jpg)
Exemplo: criando matrizes
22
![Page 23: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/23.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/24.jpg)
Criando um “char array”:
24
![Page 25: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/25.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/26.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/27.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/28.jpg)
Comando “who” e “whos”
28
![Page 29: Aula 01 Matlab Introducao](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/29.jpg)
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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/30.jpg)
• 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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/31.jpg)
• 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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/32.jpg)
• 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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/33.jpg)
• 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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/34.jpg)
• 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](https://reader038.vdocuments.com.br/reader038/viewer/2022110209/55cf98dd550346d0339a1d25/html5/thumbnails/35.jpg)
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