Académique Documents
Professionnel Documents
Culture Documents
Introdução ao MATLAB ® I
Prof.: José Eustáquio Rangel de Queiroz
Considerações Iniciais I
MATLAB® (Matrix Laboratory) I
Origem
Final da década de 70, na Stanford
University (Cleve Moler).
Foco
Cursos de teoria matricial, álgebra linear
e análise numérica.
Algoritmos-bases
Bibliotecas EISPAC e LINPACK em código
FORTRAN.
2
Considerações Iniciais II
MATLAB® II
Propósito inicial
Utilização de pacotes sem a necessidade
de se escrever códigos em FORTRAN.
Propósito atual
Linguagem de programação iterativa
para computação técnica e científica
comercializada pela MathWorks
(www.mathworks.com).
3
Considerações Iniciais III
MATLAB® III
Linguagem de alto desempenho para
computação técnica
Computação, visualização e programação
em um ambiente de uso fácil
4
Considerações Iniciais IV
MATLAB® IV
Aplicações típicas
Computação e análise numérica.
Desenvolvimento de algoritmos.
Modelagem, simulação e prototipagem.
Processamento, análise e visualização de
dados.
Representação gráfica científica e de
engenharia.
Desenvolvimento de aplicações, incluindo
Interfaces Gráficas com o Usuário (GUI ).
5
Considerações Iniciais V
MATLAB® V
Características I
Processamento matricial.
Visualização gráfica.
Facilidade de uso.
Linguagem matemática familiar.
Pacotes e caixas de ferramentas para
aplicações específicas.
6
Considerações Iniciais VI
MATLAB® VI
Características II
Possibilidade de tratamento de variáveis
numérica e simbolicamente.
Uso difundido em cursos de graduação e
pós-graduação de Engenharia,
Matemática e Física.
7
Considerações Iniciais VII
MATLAB® VII
Janela multifacetada de abertura
Espaço
de Trabalho
Comandos
Pasta
Atual
Histórico
de Comandos
Detalhes
8
Considerações Iniciais VIII
MATLAB® VIII
Inicialização I
Seleção da opção “MATLAB”, na árvore de
inicialização ou do ícone do MATLAB, no
desktop do Windows.
Janela principal Janela de Comandos
Centro da janela multifacetada.
Digitação de comandos após o prompt de
comandos (»).
9
Considerações Iniciais IX
MATLAB® IX
Inicialização II
Janela do Diretório Atual
Localização
Parte superior à esquerda da janela de
Comandos.
Propósito
Exibição dos arquivos existentes na pasta
atual, na qual o MATLAB® busca inicialmente
arquivos e funções.
10
Considerações Iniciais X
MATLAB® X
Inicialização III
Janela do Espaço de Trabalho
Localização
Parte superior à direita da janela de
Comandos.
Propósito
Exibição de todas as variáveis declaradas.
11
Considerações Iniciais XI
MATLAB® XI
Inicialização IV
Janela do Histórico de Comandos
Localização
Parte inferior à direita da janela de
Comandos.
Propósito
Exibição de todos os comandos mais
recentemente digitados.
Reuso do comando pelo MATLAB® Seleção
com duplo clique no comando desejado.
12
Considerações Iniciais XII
MATLAB® XII
Inicialização V
Janela de Detalhes
Localização
Parte inferior à esquerda da janela de
Comandos.
Propósito
Exibição de detalhes de um arquivo
selecionado na janela da Pasta Atual.
13
Considerações Iniciais XIII
MATLAB® XIII
Encerramento
Digitação do comando: » quit
14
Considerações Iniciais XIV
MATLAB® XIV
Tipos de Dados
Array
Uint8 Double
(inteiro sem (8 bytes)
sinal, 8 bits)
15
Considerações Iniciais XV
Formatos de exibição de números I
16
Considerações Iniciais XVI
Formatos de exibição de números II
17
Considerações Iniciais XVII
Formatos de exibição de números III
Estilo Resultado Exemplo
short 4 dígitos após o ponto decimal [Para matrizes com
faixa extensa de valores, empregar shortG] 3.1416
(default)
Formato decimal fixo longo, com 15 dígitos após o
long ponto decimal para valores double e 7 dígitos após o 3.141592653589793
ponto decimal para valores single
Notação científica curta, com 4 dígitos após o ponto
shortE 3.1416e+00
decimal
Notação científica longa, com 15 dígitos após o ponto
longE decimal para valores double e 7 dígitos após o ponto 3.141592653589793e+00
decimal para valores single
Notação decimal fixa curta ou notação científica mais
shortG 3.1416
compacta, com 5 dígitos
Notação decimal fixa longa ou notação científica mais
longG compacta, com 15 dígitos para valores double e 7 3.14159265358979
dígitos para valores single
Notação curta para engenharia, com 4 dígitos após o
shortEng 3.1416e+000
ponto decimal e um expoente múltiplo de 3
longEng Notação curta para engenharia, com 15 dígitos
3.14159265358979e+000
significativos e um expoente múltiplo de 3
18
Considerações Iniciais XVIII
Formatos de exibição de números IV
19
Considerações Iniciais XIX
Formatos de exibição de números V
Estilo Resultado Exemplo
Formato Positivo/Negativo, com +, - e espaço em
+ branco exibidos para elementos positivos, negativos e +
nulos
Formato monetário, com 2 dígitos após o ponto
bank 3.14
decimal
Representação hexadecimal de um número binário
hex 400921fb54442d18
representado com precisão dupla
rat Razão de inteiros pequenos 355/113
20
Considerações Iniciais XX
Formatos de exibição de números VI
>> help format (Ajuda de linha de
comando sobre formatos)
>> format short (5 algarismos)
>> format shortE (5 algarismos +
expoente)
21
Considerações Iniciais XXI
Formatos de exibição de números VI
>> format long (16 algarismos)
>> format longE (16 algarismos +
expoente)
>> format + (Positivo, negativo ou
nulo)
>> format rat (Aproximação racional)
22
Considerações Iniciais XXII
Configurações de separadores
Ponto Casas decimais
Vírgula Algarismos inteiros
Todos os comandos devem ser digitados
em letras minúsculas
M-file Editor
Editor de arquivos do MATLAB, para a
digitação de programas
Seleção de File New M-File
23
Considerações Iniciais XXIII
Ajuda
Janela de Comandos
>> help (Tópicos de ajuda)
>>helpdesk (doc) (Documentação)
Na versão 2014a, recebe-se a advertência
Warning: HELPDESK will be removed in a future
release. Use DOC instead.
> In helpdesk at 10
25
Escalares II
Variáveis I
» a = 1+2+3
»a=
6
» b = 4+5+6
»a=
15
» c = a+b
»c=
21
26
Escalares III
Variáveis II
» x = 1.5+2.03+3.456
»x=
6.9860
» y = 4.391+5.9+6.34
»a=
16.6310
» w = x+y
»w=
No MATLAB®, variáveis
23.6170 são introduzidas pela
atribuição de um valor.
27
Escalares IV
Variáveis III
» 3*c+c/5 Um comando não necessita
ser iniciado pela atribuição
» ans = <variável> =.
67.2000
» exp(w)-17.8*c
» ans =
1.8061e+010
» sqrt(ans*ans + c^w)
» ans = ans pode ser
empregado como
4.1061e+015 uma variável.
28
Escalares V
Variáveis IV
» a = 1+2+3
»a=
6
» a = 1+2+3;
»a
a=
6
29
Escalares VI
Variáveis V
Comando who
Listagem de variáveis presentes no
espaço de trabalho.
Exemplo
» who
Your variables are:
a ans b c d w x y
30
Escalares VII
Variáveis VI
Comando whos
Listagem de variáveis presentes no
espaço de trabalho e algumas de suas
propriedades.
Exemplo
» whos
Name Size Bytes Class Attributes
a 1x1 8 double
ans 1x1 8 double
b 1x1 8 double
c 1x1 8 double
31
Escalares VIII
Variáveis VII
Comandos com mais de uma uma linha
Terminação da linha com ... e Enter e
continuação na linha seguinte
Exemplo 01
» z = 1.458 + 2 + ...
1.009 + 3.98 + 4.768
z=
13.2150
32
Escalares IX
Variáveis VIII
Expressões matemáticas
NÃO se podem digitar expressões
matemáticas literalmente.
Exemplo 02
»j=k+l
??? Undefined function or variable 'k'.
33
Escalares X
Variáveis IX
Operações padrão
Padrão MATLAB®
a+b a+b
a-b a-b
ab a*b
a
a/b
b
ab a^b
As variáveis desta tabela devem
ser interpretadas como números.
34
Escalares XI
Variáveis X
Ordem das operações
Padrão Potenciação, multiplicação e
divisão e, por fim, adição e subtração
Uso de parênteses (( )) para definir a
ordem dos cálculos
1
Exemplo: Cálculo de
exp( 3 ) 1
>> 1/(exp(3)+1)
ans =
0.0474
35
Escalares XII
Variáveis XI
Interrupção de cálculos longos
Uso de Ctrl+c , após o que um novo
prompt aparecerá para a entrada de
novos comandos
36
Escalares XIII
Variáveis XII
Incompletude de comandos
Finalização de comandos incompletos ou
inválidos
Aparecimento de uma mensagem de erro,
seguida de um novo prompt.
Aparecimento de um cursor piscante, à
esquerda da linha, abaixo do comando
37
Escalares XIV
Variáveis XIII
Aparecimento de um cursor piscante à
esquerda da linha, abaixo do comando
Possibilidade de finalização do comando,
seguida de sua avaliação pelo MATLAB®
Possibilidade de interrupção do comando,
utilizando Ctrl+c , seguida do surgimento
de um novo prompt
38
Escalares XV
Variáveis XIV
Nomes
Inicialização com uma letra, seguida de
um número arbitrário de letras, números
ou símbolos, e.g., _ e -
Sensibilidade do MATLAB® a maiúsculas e
minúsculas (case sensitive)
39
Escalares XVI
Variáveis XV
Variáveis especiais II
Variável Descrição
Contém o resultado do último cálculo não atribuído a outra
ans variável.
Variável utilizada internamente para o arredondamento de todos
os números, antes do armazenamento na memória do computador,
eps cujo valor é ≈2,2204.10-16 e representa a acurácia computacional
do MATLAB®.
i ou j Número complexo i, com a propriedade i2=-1.
pi Igual a 3,1415...
Inf Corresponde ao resultado da divisão de 1 por 0, i.e., 1/0 = Inf.
Representação de Not a Number, entendido como um não número
NaN pelo sistema e produzido por cálculos tais como 0/0 ou por valores
que o sistema não entende como números.
40
Escalares XVII
Variáveis XVI
Variáveis especiais II
Possibilidade de atribuição de valores às
variáveis internas do MATLAB®
Impacto nos cálculos que envolvam tais
variáveis.
Remoção de valores atribuídos a
variáveis internas, por acidente, a partir
do comando clear ou do navegador do
espaço de trabalho. EVITAR atribuir valores
às variáveis internas do
MATLAB®.
41
Escalares XVIII
Exercícios I
Solucionar os exercícios 1.1 a 1.7 da URL
http://www.imc.tue.nl/IMC-main/IMC-
main-node78.html
42
Vetores e Matrizes I
Geração de vetores no MATLAB®
Caractere dois pontos (:).
>> x = 1:5 (Geração de um vetor linha
contendo os números de 1 a 5, com
incremento unitário)
x=
1 2 3 4 5
43
Vetores e Matrizes II
45
Vetores e Matrizes IV
Uso de índices
Comando Resultado
Apresenta o elemento da i-ésima linha e j-
A(i,j)
ésima coluna do array A.
A(i,:) Apresenta a j-ésima linha do array A.
A(:,j) Apresenta a j-ésima coluna do array A.
Altera os valores da i-ésima linha do array A
A(i,:)=[a;b;c] para a, b e c, se e somente se o array for i x n e
n ? 2.
Altera os valores da j-ésima coluna do array A
A(:,j)=[d;e;f] para d, e e f, se e somente se o array for n x j e
n ? 2.
Apresenta um array constituído do k-ésimo e l-
A(i,[k,l])
ésimo elementos da i-ésima linha do array A.
Concatena os arrays A e B, se e somente se
[ A, B ] tiverem o mesmo número de linhas ou de
colunas.
46
Vetores e Matrizes V
Operações em arrays I
Operações (tais como adição ou
subtração) aplicadas aos elementos
correspondentes de arrays com a mesma
forma.
>> A = [1,2,3]; B = [6,5,4];
>> A+B
ans =
7 7 7
47
Vetores e Matrizes VI
Operações em arrays II
>> A = [1,2,3]; B = [6,5,4];
>> A-B
ans =
-5 -3 -1
>> A*B
??? Error using ==> mtimes
Inner matrix dimensions must agree.
48
Vetores e Matrizes VII
49
Vetores e Matrizes VIII
Operações em arrays IV
>> A = [1,2,3]; B = [6,5,4];
>> A./B
ans =
0.1667 0.4000 0.7500
50
Vetores e Matrizes IX
Operações em arrays V
>> A = [1,2,3]; B = [6,5,4];
>> A.^B
ans =
1 32 81
51
Vetores e Matrizes X
Operações em arrays VI
>> A = [1,2,3];
>> B = [6,
5,
4];
>> A*B
ans =
28
52
Vetores e Matrizes XI
54
Vetores e Matrizes XIII
57
Vetores e Matrizes XVI
58
Vetores e Matrizes XVII
Gráfico traçado a
partir da função
ezplot() (sem a
grade)
59
Vetores e Matrizes XVIII
Geração de um array contendo valores de
uma função IV
Gráfico traçado a
partir da função
ezplot() (com a
grade)
60
Vetores e Matrizes XIX
Geração de um array contendo valores de
uma função V
>> x=0:0.05:3
..
.
61
Vetores e Matrizes XX
CUIDADO com o
emprego da função
sin(), assim como com
o emprego do . !!!
62
Vetores e Matrizes XXI
..
.
63
Vetores e Matrizes XXII
Construção de tabelas I
Seja o vetor coluna
>> v = (0:9)';
>> pows = [v 2.^v v.^(1/2)]
64
Vetores e Matrizes XXII
Construção de tabelas II
Seja a sequência de comandos a seguir
>> format long g
>> x = (1:0.05:1.3)';
lognat = [x log(x)]
65
Vetores e Matrizes XXIII
Construção de tabelas II
Seja a sequência de comandos a seguir
>> format long g
>> x = (1:0.05:1.3)';
lognat = [x log(x)]
66