Curso Introdutorio MATLAB
Curso Introdutorio MATLAB
Introdução ao MATLAB ®
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Versões e S.O.
• MATLAB:
• Software proprietário (pago) da The MathWorks, Inc.
• Linguagem de alto nível escrita em C, C++, Java, Fortran
e Python.
• Encontra-se atualmente na versão R2024b.
• Disponível para: Windows, Linux e Mac.
• Lista imensa de Toolbooxes.
• Instalação (capítulo 2).
• File exchange.
• Opencadd.
• Cursos online.
Comandos Auxiliares
• “clc”
Comandos Auxiliares
• “clc”
• “clear”
Comandos Auxiliares
• “clc”
• “clear”
• “help”
Comandos Auxiliares
• “clc”
• “clear”
• “help”
• Ctrl + C
Comandos Auxiliares
• “clc”
• “clear”
• “help”
• Ctrl + C
• Setas do teclado
Constantes
• Nome de variáveis.
Constantes
• Nome de variáveis.
• A variável “ans”;
Constantes
• Nome de variáveis.
• A variável “ans”;
• Notação científica;
Constantes
• Nome de variáveis.
• A variável “ans”;
• Notação científica;
• “i” e “j” raizes complexas;
Constantes
• Nome de variáveis.
• A variável “ans”;
• Notação científica;
• “i” e “j” raizes complexas;
• O ponto e vírgula (;).
Constantes
Constante Valor
pi 3.14159265358979 (4*atan(1))
Inf infinito (exemplo: 1 ÷ 0)
NaN not-a-number (exemplo: 0 ÷ 0)
Formatos e Precisão
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Construção de Matrizes
Operadores
Operador Descrição
+ Soma
- Subtração
* Multiplicação matricial
\ Divisão esquerda
∧ Potência matricial
’ Transposta
() Precedência
• Criar a matriz:
>> A = [ 1 2 3 ; 4 5 6 ; 7 8 10]
• Criar o vetor do lado direito:
>> b = [6 ; 15 ; 25]
• Verificar se tem solução:
>> det(A)
• Resolver o sistema:
>> x = A\b
Indexação
• Concatenação;
Indexação
• Concatenação;
• Indexação (i,j);
Indexação
• Concatenação;
• Indexação (i,j);
• Vetores sequenciais (a:passo:b);
Indexação
• Concatenação;
• Indexação (i,j);
• Vetores sequenciais (a:passo:b);
• linspace;
Indexação
• Concatenação;
• Indexação (i,j);
• Vetores sequenciais (a:passo:b);
• linspace;
• O operador “:” para blocos;
Indexação
• Concatenação;
• Indexação (i,j);
• Vetores sequenciais (a:passo:b);
• linspace;
• O operador “:” para blocos;
• O operador “:” para seleção de colunas/linhas;
Indexação
• Concatenação;
• Indexação (i,j);
• Vetores sequenciais (a:passo:b);
• linspace;
• O operador “:” para blocos;
• O operador “:” para seleção de colunas/linhas;
• Submatrizes com “[” e “]”;
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Functions
Funções Elementares
Função Descrição
A = eye(m,n) Matriz identidade m × n
A = zeros(m,n) Matriz nula m × n
A = ones(m,n) Matriz de 1’s m × n
A = rand(m,n) Matriz com entradas aleatórias m × n
Calcula as dimensões da matriz
[m,n] = size(A)
(m linhas e n colunas)
Calcula o comprimento (nº de entradas)
n = length(v)
do vetor
v = diag(A) Extrai a diagonal da matriz
Funções Elementares
Função Descrição
d = det(A) Determinante de A
B = inv(A) Matriz inversa de A
v = eig(A) Autovalores de A
x = sum(v) Somas as entradas do vetor
x = prod(v) Produto das entradas do vetor
x = min(v) Menor entrada do vetor
x = max(v) Maior entrada do vetor
x = abs(v) Valor absoluto das entradas
Funções anônimas
• f = @(x)(x∧2)
Funções anônimas
• f = @(x)(x∧2)
• f = @(x,y)(x∧2 + y∧2)
Funções anônimas
• f = @(x)(x∧2)
• f = @(x,y)(x∧2 + y∧2)
• f = @(x)(x(1)∧2 + x(2)∧2)
Funções anônimas
• f = @(x)(x∧2)
• f = @(x,y)(x∧2 + y∧2)
• f = @(x)(x(1)∧2 + x(2)∧2)
• f = @(x)([x(1)∧2 , x(1) + x(2) ; x(1) + x(2) , x(2)∧2])
Funções Matemáticas
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
• .∗ , .∧ , ./
• Velocidade e fácil leitura
• Operações com matrizes
• Avaliação de funções
• Criação de matrizes a partir de vetores
• Gráficos
• Paralelismo e vetorização automática
Exemplo MMQ
Primeira forma:
n n
X X
n xi yi
b
i=1 i=1
a = X
n n
n
X X
2
xi xi xi yi
i=1 i=1 i=1
Exemplo MMQ
Primeira forma:
n n
X X
n xi yi
b
i=1 i=1
a = X
n n
n
X X
2
xi xi xi yi
i=1 i=1 i=1
Segunda forma:
1 x1 y1
1 x2 y2
1 1 ··· 1 b 1 1 ··· 1
.. .. a = x x · · ·
x1 x2 · · · xn
xn
..
. . 1 2 .
1 xn yn
⇒ AT Ac = AT y ⇒ c = (AT A)−1 AT y
Edson Luiz Valmorbida Introdução ao MATLAB ® 23 / 55
Aspectos Gerais Matrizes Functions Vetorização Symbolic Math Toolbox Strings Editor Estruturas de seleção e repetição
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
• syms
• syms
• symfun
• syms
• symfun
• syms
• symfun
Função Descrição
dy = diff(y) Derivada
I = int(y) Integral
y2 = simplify(y) Simplificação
y2 = expand(y) Expandir
y2 = factor(y) Fatorar
y2 = subs(y,x,valor) Substituição
y2 = double(y) Ponto Flutuante
y2 = vpa(y,5) Ponto Flutuante
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Construção
a = ’texto’; b = "texto";
• disp.
• fprintf.
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Editor de texto
• Vantagens;
• scripts e functions;
• Comentários (%);
• Indentação.
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Lógica Booleana
Símbolo Teste
== Igual
∼= Diferente
< Menor que
> Maior que
<= Menor ou igual
>= Maior ou igual
Lógica Booleana
Símbolo Operador
∼ Negação
& E
| OU
if
if <Condição Booleana>
<Ação>
end
if, else
Exemplo
while
Exemplo
f (xk )
xk +1 = xk −
f ′ (xk )
for
Exemplo
1 Somatório.
2 Função que encontra o maior valor de um vetor.
3 Construa uma matriz (de dimensão n) cuja entrada
Aij = i + j.
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Plotando a função y = x 2
Plotando a função y = x 2
Plotando a função y = x 2
Funções
Exercícios
Outras funções
• fplot e fimplicit
• semilogx, semilogy, loglog
• xline, yline, line
• geoplot, polarplot, bar, boxplot, scatter, quiver, fill
Textos
• title
Utilidade: Insere título.
Sintaxe: >> title(’Título do Gráfico’)
Textos
• title
Utilidade: Insere título.
Sintaxe: >> title(’Título do Gráfico’)
• xlabel e ylabel
Utilidade: Insere nomes nos eixos X e Y.
Sintaxe: >> xlabel(’Nome do Eixo X’)
Textos
• title
Utilidade: Insere título.
Sintaxe: >> title(’Título do Gráfico’)
• xlabel e ylabel
Utilidade: Insere nomes nos eixos X e Y.
Sintaxe: >> xlabel(’Nome do Eixo X’)
• legend
Utilidade: Insere legenda.
Sintaxe: >> legend(’y = f(x)’)
Como fazer
• plot3;
• mesh e surf ;
• A função peaks.
• contour.
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
Leitura
• Interface gráfica.
• Gerar código a partir da interface.
• Via código.
Leitura
• Interface gráfica.
• Gerar código a partir da interface.
• Via código.
Função Descrição
load Arquivo de dados do MATLAB
readmatrix Dados numéricos separados por coluna
readcell, readtable Dados mistos separados por coluna
readtimetable Dados com dependência no tempo
imread Arquivos de imagem
audioread Arquivos de áudio
fread, fscanf, textscan Arquivo de dados binários
tall, datastore Grande volumes de dados
Exemplo
• https:
//[Link]/help/matlab/import_export/
supported-file-formats-for-import-and-export.
html
• https:
//[Link]/help/matlab/import_export/
supported-file-formats-for-import-and-export.
html
• [Link]
importing-data-from-text-files-interactively-71076.
html?s_tid=srchtitle
• https:
//[Link]/help/matlab/import_export/
supported-file-formats-for-import-and-export.
html
• [Link]
importing-data-from-text-files-interactively-71076.
html?s_tid=srchtitle
• [Link]
importing-data-from-files-programmatically-71077.
html?s_tid=srchtitle
• https:
//[Link]/help/matlab/import_export/
supported-file-formats-for-import-and-export.
html
• [Link]
importing-data-from-text-files-interactively-71076.
html?s_tid=srchtitle
• [Link]
importing-data-from-files-programmatically-71077.
html?s_tid=srchtitle
• [Link]
export/[Link]
• https:
//[Link]/help/matlab/import_export/
supported-file-formats-for-import-and-export.
html
• [Link]
importing-data-from-text-files-interactively-71076.
html?s_tid=srchtitle
• [Link]
importing-data-from-files-programmatically-71077.
html?s_tid=srchtitle
• [Link]
export/[Link]
• [Link]
[Link]
• https:
//[Link]/help/matlab/import_export/
supported-file-formats-for-import-and-export.
html
• [Link]
importing-data-from-text-files-interactively-71076.
html?s_tid=srchtitle
• [Link]
importing-data-from-files-programmatically-71077.
html?s_tid=srchtitle
• [Link]
export/[Link]
• [Link]
[Link]
• [Link]
Escrita
Função Descrição
save Arquivo de dados do MATLAB (∗.mat)
savefig Arquivos de figura do MATLAB (∗.fig)
exportgraphics Salva gráficos em diferentes formatos
writetable, writecell Arquivos TXT, CSV
writematrix Dados Numéricos para XLS
imwrite, audiowrite Arquivos de imagem ou áudio
VideoWriter Cria arquivos de vídeo
Índice
1 Aspectos Gerais
2 Matrizes
3 Functions
4 Vetorização
5 Symbolic Math Toolbox
6 Strings
7 Editor
8 Estruturas de seleção e repetição
9 Gráficos
10 Leitura e escrita de arquivos
11 O que não vimos neste curso
• Live Scripts;
• Importação e exportação de imagens;
• Criação de GUI;
• Criação de Apps;
• Ferramentas Low-code (ML, Fitting, apps);
• Simulink;
• Métodos de Otimização;
• Sistemas embarcados (compiler);
• Profiler;
• Debbuger;
• Ferramentas Java (set, get);
• Struct, Table, dictionary, categorical;
• Arduino e etc;
• MATLAB Compiler.
Edson Luiz Valmorbida Introdução ao MATLAB ® 55 / 55