SlideShare une entreprise Scribd logo
1  sur  67
Conceitos Básicos
Rodolfo Maduro Almeida
O que é o MATLAB?
MATrix LABoratory é um software para
resolução de problemas numéricos e
visualização computacional.
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
O que é o MATLAB?
• Desenvolvido pela Mathworks Inc., sede em
Natick, Massachusetts, EUA.
http://www.mathworks.com/
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Características
• Software multiplataforma: Distribuições para
Windows, Linux/Unix e Mac.
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Características
• Possui ambiente interativo e uma linguagem
simples, de alto nível cujos recursos permitem
ganho no tempo de implementação.
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Vantagens
• Seu ambiente de desenvolvimento permite
interação do MATLAB com outras linguagens
como C/C++, Java, Fortran. Isto permite o
desenvolvimento de toolboxes: extensões de
sua linguagem para solução de problemas
específicos.
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Toolbox de
Otimização
Toolbox de
Redes Neurais
Toolbox de Proc. de Imagens
Desvantagens
• Não aconselhável para solução de problemas
complexos que exijam elevado esforço
computacional: por ser baseado em uma
linguagem de programação interpretada.
• Você tem que pagar para usá-lo (05/05/09):
Versão Estudante: U$ 99.00
Cada toolbox: U$ 59.00
Alternativas ao MATLAB
• SciLab: software livre que possui os mesmas
características do MATLAB anteriormente
mencionadas. Nos últimos anos vem ganhando espaço
no meio acadêmico. Possui distribuições para Windows
e Linux.
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Alternativas ao MATLAB
Inicializando o MATLAB
Iniciar > Executar > “matlab” <enter>
Iniciar > Programas > MATLAB > MATLAB
Pelo prompt de comando do MS-DOS:
> “matlab” <enter>
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
O Ambiente do MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
O Ambiente do MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Diretório de trabalho
O Ambiente do MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Current directory: Exibe o
conteúdo do diretório de trabalho
O Ambiente do MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Janela de comandos
O Ambiente do MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
O Ambiente do MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
O Ambiente do MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Workspace: Exibe
informações acerca das
variáveis carregadas na
memória
O Ambiente do MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Command history:
Exibe informações
acerca do histórico de
comandos
O Ambiente MATLAB
Os comandos do MATLAB são definidos em
uma linguagem própria.
Suas instruções podem ser interpretadas:
• via janela de comandos
• via arquivos com um conjunto de instruções (script)
editado com o MATLAB Editor e salvo em um arquivo de
extensão “.m”.
O bom uso do MATLAB exige um melhor
domínio da sintaxe de sua linguagem.
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Declaração de variáveis
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
• Variável: Elemento de um programa que é
declarado e armazenado na memória, cujo
valor pode ser modificado ao longo de sua
execução.
• Declaração de uma variável no MATLAB: usa-
se o operador atribuição “=”.
>> variavel = valor;
• Tipos de valores:
Os tipos podem ser numérico (real ou inteiro),
complexo ou caractere.
Declaração de variáveis
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Regras para nomes Comentário e exemplos
Case sensitive Custo, CustO, CuStO e CUSTO são variáveis
diferentes no MATLAB
Devem conter no
máximo 31 caracteres
CustoTotalAnoAnterior = 10
CustoTotalEstimadoProximoAno = 4
Não deve começar com
número e nem conter
pontuações ou espaços
Valor_Estimado = 3
Valor1 = 9.2
X123 = 2.5
Declaração de variáveis
Representação das
variáveis: matrizes
Escalar String
Matrizes
numéricas
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
X = 3
Matriz
(1x1)
BALTAM
nome = „MATLAB‟
Vetor linha
01
10
B
101B
1
0
1
B
Declaração de variáveis
• Declarando matrizes no MATLAB:
1. Os elementos devem ser declarados entre [ ]
2. Os elementos de uma mesma linha numa matriz
são separados por espaço(s) ou vírgula
3. ponto-e-vírgula(;) indica o final de uma linha de
uma matriz ou final de uma expressão
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
452
906
841
A A = [1 4 8; 6 0 9; 2 4 5]
Operadores aritméticos
matriciais
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Operação Símbolo
Adição +
Subtração -
Multiplicação *
Divisão /
Potenciação ^
Matriz transposta „
Operadores aritméticos
>> a = 4
a = 4
>> b = 3
b = 3
>> c = a + b
c = 7
>> c1 = a – b
c1 = 1
>> c2 = b / a
c2 = 0.7500
>> c3 = a^2 + b^2
c3 = 25
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Operadores aritméticos
>> A = [1 2; 3 4]
A =
1 2
3 4
>> B = [5 6; 7 8]
B =
5 6
7 8
>> C = A + B
C =
6 8
10 12
>> C1 = A – B
C1 =
-4 -4
-4 -4
>> C2 = A^(-1) %=(inv(A))
C2 =
-2.0000 1.0000
1.5000 -0.5000
>> C3 = A/B %=(A*inv(B))
C3 =
3.0000 -2.0000
2.0000 -1.0000
>> C4 = A^2 + B^2
C4 =
74 88
106 128
>> C5 = A’
C5 =
1 3
2 4
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Operadores aritméticos
ponto-a-ponto
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Operação Símbolo
Multiplicação .*
Divisão ./
Potenciação .^
Operador ponto-a-ponto: Executa a operações entre (ou sobre) os
elementos da matriz. Quando envolver duas matrizes, as suas dimensões
devem ser as mesmas.
Operadores aritméticos
>> A = [1 2; 3 4]
A =
1 2
3 4
>> B = [5 6; 7 8]
B =
5 6
7 8
>> C1 = A * B
C =
19 22
43 50
>> C1 = A .* B
C2 =
5 12
21 32
>> D1 = A/B
C3 =
3.0000 -2.0000
2.0000 -1.0000
>> D2 = A./B
D1 =
0.2000 0.3333
0.4286 0.5000
>> E1 = A^3
E1 =
37 54
81 118
>> E2 = A.^3
E2 =
1 8
27 64
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Operador dois-pontos (:)
É um dos operadores mais úteis do MATLAB.
Cria vetores e serve para manipular índices de
matrizes.
Criando vetores:
>> vetor = valor_inicial:incremento:valor_final
>> vetor = valor_inicial:valor_final (incremento=1)
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Operador dois-pontos (:)
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
>> C = 1:2:11
C =
1 3 5 7 9 11
>> E = [1:1:3;4:1:6;7:1:9]
E =
1 2 3
4 5 6
7 8 9
>> D = 0 : 0.5 : 3
D =
0 0.5 1.0 1.5 2.0 2.5 3.0
>> A = [1 : 2 : 15]
A =
1 3 5 7 9 11 13 15
>> A(1,5)
ans =
9
>> B = [1:1:3;2:2:6;5:2:9]
B =
1 2 3
2 4 6
5 7 9
>> b = [10 20 30]
b =
10 20 30
>> B = [B;b]
B =
1 2 3
2 4 6
5 7 9
10 20 30
>> B(1:3,2)
ans =
2
4
7
>> B(3,:)
ans =
5 7 9
>> B([2 3],[1 2])
ans =
2 4
5 7
>> B(end,:)
ans =
10 20 30
Manipulação de Matrizes
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Manipulação de matrizes
>> A = ones(3,3)
A =
1 1 1
1 1 1
1 1 1
>> B = zeros(4,3)
B =
0 0 0
0 0 0
0 0 0
0 0 0
>> I = eye(4,4)
I =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> C = rand(3,3)
C =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
>> rand('seed',0)
>> D = rand(3,3)
D =
0.2190 0.6793 0.5194
0.0470 0.9347 0.8310
0.6789 0.3835 0.0346
>> E = diag(D)
E =
0.2190
0.9347
0.0346
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Manipulação de matrizes
>> A = ones(3,3)
A =
1 1 1
1 1 1
1 1 1
>> dimA = size(A)
dimA =
2 3
>> A1 = diag(A)
A1 =
1
1
1
>> maxdimA = length(A)
maxdimA =
3
>> B = diag(5 * A1)
B =
5 0 0
0 5 0
0 0 5
>> rand('seed',10)
>> C = rand(size(A))
C =
0.1291 0.9505 0.1597
0.6048 0.3367 0.7808
0.5040 0.0924 0.6925
>> C1 = triu(C)
C1 =
0.1291 0.9505 0.1597
0 0.3367 0.7808
0 0 0.6925
>> C2 = tril(C)
C2 =
0.1291 0 0
0.6048 0.3367 0
0.5040 0.0924 0.6925
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Exercícios
Defina as matrizes e efetue as seguintes
operações:
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
índicesdemaisospara3,
ímparesepara,2
paresepara,1
)( 99
ji
ji
bB ij
índicesdemaisospara3,
parímparpara,2
ímparparpara,6
)( 99
jei
jei
aA ij
a) A * A‟
b) B^2
c) B.^2
d) A * B
e) A .^B
f) A./B
Exercícios
>> A = 3 * ones(9,9)
>> A(2:2:end,1:2:end)=6
>> A(1:2:end,2:2:end)=2
>> disp(A)
3 2 3 2 3 2 3 2 3
6 3 6 3 6 3 6 3 6
3 2 3 2 3 2 3 2 3
6 3 6 3 6 3 6 3 6
3 2 3 2 3 2 3 2 3
6 3 6 3 6 3 6 3 6
3 2 3 2 3 2 3 2 3
6 3 6 3 6 3 6 3 6
3 2 3 2 3 2 3 2 3
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Exercícios
>> B = 3 * ones(9,9)
>> B(2:2:end,2:2:end)=1
>> B(1:2:end,1:2:end)=2
>> disp(B)
2 3 2 3 2 3 2 3 2
3 1 3 1 3 1 3 1 3
2 3 2 3 2 3 2 3 2
3 1 3 1 3 1 3 1 3
2 3 2 3 2 3 2 3 2
3 1 3 1 3 1 3 1 3
2 3 2 3 2 3 2 3 2
3 1 3 1 3 1 3 1 3
2 3 2 3 2 3 2 3 2
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Operadores lógicos e
relacionais
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Operador
relacional
Símbolo
Igual ==
Diferente ~=
Maior >
Menor <
Maior ou igual >=
Menor ou igual <=
Operador
lógico
Símbolo
E &
Ou |
Não ~
1: True – Verdadeiro
0: False - Falso
Operadores lógicos e
relacionais
>> 2 == 3
ans = 0
>> 2 <= 3
ans = 1
>> (2 == 3) & (2 <= 3)
ans = 0
>> ~(2 == 3) & (2 <= 3)
ans = 1
>> (2 ~= 3) & (2 <= 3)
ans = 1
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Trabalhando com scripts
• O que é um script?
o conjunto de instruções do MATLAB que podem ser
executadas sistematicamente.
• Para que serve?
o Sintetiza os comandos freqüentemente digitados
em um único comando (o script com os comandos é
executado)
o Aplicável a problemas mais extensos onde é exigido
mais comandos
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Editando scripts
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Outra opção: File > New M-File
Programando em MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Programando em MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Salvar o script em
um diretório de sua
preferência
Executar o script.
Atalho: F5
Entrada e Saída (tela)
• Comando de entrada: input
R = input(‘Forneca o valor de entrada:')
>>
Forneca o valor de entrada: <digitar valor> <enter>
• Comando de saida: disp
disp(X)
Mostra o valor de X na janela de comandos.
disp('Ola Mundo!')
>>
Ola Mundo!
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Entrada e Saída (tela)
clc
A = input('Forneca uma matriz 2 x 2: ');
B = input('Forneca uma matriz 2 x 2: ');
C1 = A + B;
C2 = A * B;
disp('Soma entre as duas matrizes: ');
disp(C1)
disp('Produto entre as duas matrizes: ');
disp(C2)
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Entrada e Saída (arquivos)
• Comando de entrada: load
Formato ASCII:
>> x = load('arquivo.txt');
Formato binário do MATLAB:
>> load arquivo.mat
• Comando de saída: save
Formato ASCII:
>> save „arquivo.txt‟ variaveis –ascii
Formato binário do MATLAB:
>> save „arquivo.mat‟ variaveis
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Entrada e Saída (arquivos)
dados = load('lorenz_xyz.txt');
t = dados(:,1);
x = dados(:,2);
y = dados(:,3);
z = dados(:,4);
save lorenz_xyz.mat t x y z;
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Obtenha o arquivo: http://br.geocities.com/rodmaduro/lorenz_xyz.txt
Controladores de fluxo
if expressao_1
instrucoes_1
else
instrucoes_2
end
if expressao_1
instrucoes_1
elseif expressao_2
instrucoes_2
else
instrucoes_3
end
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
if: cria caminhos alternativos na execução de
um script.
Controladores de fluxo
disp('Script que compara dois numeros')
a = input('Forneca um numero: ');
b = input('Forneca outro numero: ');
if a > b
disp(['Numero maior: ' num2str(a)])
disp(['Numero menor: ' num2str(b)])
else
disp(['Numero maior: ' num2str(b)])
disp(['Numero menor: ' num2str(a)])
end
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Controladores de fluxo
disp('Script que compara dois numeros')
a = input('Forneca um numero: ');
b = input('Forneca outro numero: ');
if a > b
disp(['Numero maior: ' num2str(a)])
disp(['Numero menor: ' num2str(b)])
elseif a < b
disp(['Numero maior: ' num2str(b)])
disp(['Numero menor: ' num2str(a)])
else
disp(['Os dois numeros sao iguais a '
num2str(a)])
end
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Controladores de fluxo
for variavel = valor_inicial:passo:valor_final
instrucoes;
end
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
for: permite que um grupo de instruções se
repitam por um número especificado de vezes.
Controladores de fluxo
N = input('Forneca a dimensao da matriz: ');
A = zeros(N,N);
for i = 1:N
for j=1:N
A(i,j) = 2 * i - 3 * j;
end
end
disp(A)
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
jiaA NNij 32)(
Controladores de fluxo
clc
N = input('Forneca a dimensao da matriz: ');
A = zeros(N,N);
for i = 1:N
for j=1:N
if (mod(i,2) == 0) & (mod(j,2) == 1)
A(i,j) = 6;
elseif (mod(i,2) == 1) & (mod(j,2) == 0)
A(i,j) = 2;
else
A(i,j) = 3;
end
end
end
disp(A)
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
índicesdemaisospara3,
parímparpara,2
ímparparpara,6
)( 99
jei
jei
aA ij
Controladores de fluxo
while (expressao de controle)
instrucoes;
end
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
while: permite que um grupo de instruções se
repitam enquanto uma determinada expressão
de controle for verdadeira.
Controladores de fluxo
EPS = 2;
while (1+EPS) > 1
EPS = EPS/2;
end
disp(EPS)
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
EPS é o maior número que adicionado a 1 torna seu valor igual a 1.
Isso acontece porque o computador um utiliza número fixo de dígitos
para representar os números. O MATLAB usa 16 dígitos de precisão,
nesse caso o valor de EPS será próximo de 10^(-16):
>> EPS
EPS =
1.1102e-016
>> 1 + EPS == 1
ans =
1
Controladores de fluxo
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
break: encerra a execução de um laço de
repetição (for ou while).
EPS = 1;
for num = 1 : 1000
EPS = EPS / 2;
if ~((1+EPS) > 1)
break
end
end
disp(EPS)
EPS = 1;
while (1+EPS) > 1
EPS = EPS/2;
end
disp(EPS)
Visualizando figuras
• Comando plot: gera um gráfico 2D
>> plot(x,y)
y: vetor linha ou vetor coluna
y: vetor linha ou vetor coluna
• Exemplo:
x = -pi:0.001:pi;
y = sin(x);
plot(x,y)
axis([-pi pi -1 1])
xlabel('x')
ylabel('sin(x)')
title('Grafico da Função Seno')
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Visualizando figuras
• Comando plot3: gera um gráfico 3D
>> plot3(x,y,z)
y: vetor linha ou vetor coluna
y: vetor linha ou vetor coluna
z: vetor linha ou vetor coluna
• Exemplo:
t = 0 : pi/50 :10*pi;
plot3(sin(t) ,cos(t) ,t)
axis([-1 1 -1 1 0 40])
xlabel('x')
ylabel(„y')
zlabel(„z')
grid on
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Salvando figuras
• Comando print:
print(gcf,formato,nome_da_figura)
Formatos mais comuns:
-dpng: salva figura em PNG
-deps: salva em Encapsulated PostScript
-depsc: salva Encapsulated Color PostScript
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Salvando figuras
clc; close all;
dados = load('lorenz_xyz.txt');
t = dados(:,1);
x = dados(:,2);
y = dados(:,3);
z = dados(:,4);
figure;
subplot(3,1,1)
plot(t,x)
xlabel('t')
ylabel('x(t)')
subplot(3,1,2)
plot(t,y)
xlabel('t')
ylabel('z(t)')
subplot(3,1,3)
plot(t,z)
xlabel('t')
ylabel('z(t)‘)
print(gcf,'-dpng',‘lorenz_xyz.png')
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Para baixar o aquivo 'lorenz_xyz.txt'
clique aqui.
Salvando figuras
clc; close all;
dados = load('lorenz_xyz.txt');
t = dados(:,1);
x = dados(:,2);
y = dados(:,3);
z = dados(:,4);
figure;
plot3(x,y,z)
xlabel('x(t)')
ylabel('x(t)')
zlabel('z(t)')
grid on
print(gcf,'-dpng',‘lorenz3d.png')
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Funções em MATLAB
• Uma função é um trecho de código que admite
parâmetros de entrada e retorna valores.
• Arquivos “.m” podem ser tanto scripts quanto
funções.
• Os comandos nativos do MATLAB são funções
criadas na sua própria linguagem.
function variavel_retorno = nome_da_funcao(variaveis_entrada)
instrucoes para obter variavel_retorno;
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Criando uma função no
MATLAB
function distancia = calcula_distancia(x,y)
diferenca = x - y;
distancia = sqrt(diferenca*transpose(diferenca));
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Exemplo: Função que calcula a distancia euclidiana entre
dois vetores do Rn. Crie e salve o seguinte arquivo “.m”:
• Para executar essa função, vá a janela de
comando e proceda da seguinte forma:
>> p = [1 0 0];
>> q = [0 1 0];
>> d = calcula_distancia(p, q)
• Ou:
>> d = calcula_distancia([1 0 0], [0 1 0])
Criando uma função no
MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Como aprender mais
e mais sobre MATLAB?
• Acessando sua documentação:
Comando doc:
>> doc
• Acessando scripts demonstrativos:
Comando demo:
>> demo
• Maiores esclarecimentos sobre algum comando:
>> help comando
Exemplo:
>> help plot
>> doc plot
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Como aprender mais
mais sobre MATLAB?
• Livros sobre MATLAB
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
Como aprender mais
e mais sobre MATLAB?
• Google:
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida

Contenu connexe

Tendances

Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Notas de aula de metrologia prof
Notas de aula de metrologia profNotas de aula de metrologia prof
Notas de aula de metrologia profgetulio Rodrigues
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresMauro Pereira
 
Apostila clp - blocos funcionais
Apostila   clp - blocos funcionaisApostila   clp - blocos funcionais
Apostila clp - blocos funcionaisRobisonpardim
 
Caderno de exercícios Sistemas digitais - Portas lógicas
Caderno de exercícios  Sistemas digitais - Portas lógicasCaderno de exercícios  Sistemas digitais - Portas lógicas
Caderno de exercícios Sistemas digitais - Portas lógicasCarlos Pereira
 
50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidosEdvan Mateó
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à ProgramaçãoMario Sergio
 
Cálculo técnico aplicado a mecanica
Cálculo técnico aplicado a mecanicaCálculo técnico aplicado a mecanica
Cálculo técnico aplicado a mecanicaGleiton Kunde
 
Informática Básica - Planilha Eletronica - Microsoft Excel 2010
Informática Básica - Planilha Eletronica - Microsoft Excel 2010Informática Básica - Planilha Eletronica - Microsoft Excel 2010
Informática Básica - Planilha Eletronica - Microsoft Excel 2010Joeldson Costa Damasceno
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADARafael Costa
 
Leitura de Polegada no Paquímetro
Leitura de Polegada no Paquímetro Leitura de Polegada no Paquímetro
Leitura de Polegada no Paquímetro Luiz Avelar
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoFelipe Martins
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugolGabriel Faustino
 

Tendances (20)

Catalogo mang hidraulica Transpower
Catalogo mang hidraulica TranspowerCatalogo mang hidraulica Transpower
Catalogo mang hidraulica Transpower
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Notas de aula de metrologia prof
Notas de aula de metrologia profNotas de aula de metrologia prof
Notas de aula de metrologia prof
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Micrometro
MicrometroMicrometro
Micrometro
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Apostila clp - blocos funcionais
Apostila   clp - blocos funcionaisApostila   clp - blocos funcionais
Apostila clp - blocos funcionais
 
Apr metrologia
Apr metrologiaApr metrologia
Apr metrologia
 
Caderno de exercícios Sistemas digitais - Portas lógicas
Caderno de exercícios  Sistemas digitais - Portas lógicasCaderno de exercícios  Sistemas digitais - Portas lógicas
Caderno de exercícios Sistemas digitais - Portas lógicas
 
Média,moda e mediana
Média,moda e medianaMédia,moda e mediana
Média,moda e mediana
 
Clp logo e s7 200
Clp logo e s7 200Clp logo e s7 200
Clp logo e s7 200
 
Manual de portugol
Manual de portugolManual de portugol
Manual de portugol
 
50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Cálculo técnico aplicado a mecanica
Cálculo técnico aplicado a mecanicaCálculo técnico aplicado a mecanica
Cálculo técnico aplicado a mecanica
 
Informática Básica - Planilha Eletronica - Microsoft Excel 2010
Informática Básica - Planilha Eletronica - Microsoft Excel 2010Informática Básica - Planilha Eletronica - Microsoft Excel 2010
Informática Básica - Planilha Eletronica - Microsoft Excel 2010
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADA
 
Leitura de Polegada no Paquímetro
Leitura de Polegada no Paquímetro Leitura de Polegada no Paquímetro
Leitura de Polegada no Paquímetro
 
Introdução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-cursoIntrodução a Sistemas Embarcados com Arduino - mini-curso
Introdução a Sistemas Embarcados com Arduino - mini-curso
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 

Similaire à Matlab - Conceitos Básicos

Aula6 programação
Aula6 programaçãoAula6 programação
Aula6 programaçãoIFPB
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptxPatrícia Melo
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 
Minicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJMinicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJRenan Prata
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlabblogmaxima
 
Programacao de macros_com_libre_office_basic_slideshare
Programacao de macros_com_libre_office_basic_slideshareProgramacao de macros_com_libre_office_basic_slideshare
Programacao de macros_com_libre_office_basic_slideshareMarcio Junior Vieira
 
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicProgramação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicMarcio Junior Vieira
 
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicProgramação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicAmbiente Livre
 

Similaire à Matlab - Conceitos Básicos (20)

Introdução ao matlab
Introdução ao matlabIntrodução ao matlab
Introdução ao matlab
 
Aula6 programação
Aula6 programaçãoAula6 programação
Aula6 programação
 
Guia Matlab
Guia MatlabGuia Matlab
Guia Matlab
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx4-Introducao programacao-convertido.pptx
4-Introducao programacao-convertido.pptx
 
Apostila_MATLAB.pdf
Apostila_MATLAB.pdfApostila_MATLAB.pdf
Apostila_MATLAB.pdf
 
Apostila matlab
Apostila matlabApostila matlab
Apostila matlab
 
Map, filter e reduce
Map, filter e reduceMap, filter e reduce
Map, filter e reduce
 
apostila matlab
apostila matlabapostila matlab
apostila matlab
 
Apostila matlab
Apostila matlabApostila matlab
Apostila matlab
 
Apostila 20 matlab
Apostila 20 matlabApostila 20 matlab
Apostila 20 matlab
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Minicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJMinicurso Matlab IVSEE 2013 UERJ
Minicurso Matlab IVSEE 2013 UERJ
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Programacao de macros_com_libre_office_basic_slideshare
Programacao de macros_com_libre_office_basic_slideshareProgramacao de macros_com_libre_office_basic_slideshare
Programacao de macros_com_libre_office_basic_slideshare
 
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicProgramação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice Basic
 
Programação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice BasicProgramação de Macros com LibreOffice Basic
Programação de Macros com LibreOffice Basic
 

Plus de Rodolfo Almeida

Geoprocessamento aplicado a estudos ambientais
Geoprocessamento aplicado a estudos ambientaisGeoprocessamento aplicado a estudos ambientais
Geoprocessamento aplicado a estudos ambientaisRodolfo Almeida
 
Classificação não-supervisionada de imagens de sensoriamento remoto utilizand...
Classificação não-supervisionada de imagens de sensoriamento remoto utilizand...Classificação não-supervisionada de imagens de sensoriamento remoto utilizand...
Classificação não-supervisionada de imagens de sensoriamento remoto utilizand...Rodolfo Almeida
 
Introdução à Modelagem Ambiental
Introdução à Modelagem AmbientalIntrodução à Modelagem Ambiental
Introdução à Modelagem AmbientalRodolfo Almeida
 
Ricardo Mendes de Freitas - Modelagem Matemática em Ecologia de Populações
Ricardo Mendes de Freitas - Modelagem Matemática em Ecologia de PopulaçõesRicardo Mendes de Freitas - Modelagem Matemática em Ecologia de Populações
Ricardo Mendes de Freitas - Modelagem Matemática em Ecologia de PopulaçõesRodolfo Almeida
 
Criando uma base cartográfica a partir de dados de Sensoriamento Remoto
Criando uma base cartográfica a partir de dados de Sensoriamento RemotoCriando uma base cartográfica a partir de dados de Sensoriamento Remoto
Criando uma base cartográfica a partir de dados de Sensoriamento RemotoRodolfo Almeida
 
Introdução à Computação Aplicada
Introdução à Computação AplicadaIntrodução à Computação Aplicada
Introdução à Computação AplicadaRodolfo Almeida
 
Sensoriamento Remoto dos Recursos Naturais - Aula 01
Sensoriamento Remoto dos Recursos Naturais - Aula 01Sensoriamento Remoto dos Recursos Naturais - Aula 01
Sensoriamento Remoto dos Recursos Naturais - Aula 01Rodolfo Almeida
 
Orientações básicas para a elaboração de projetos
Orientações básicas para a elaboração de projetosOrientações básicas para a elaboração de projetos
Orientações básicas para a elaboração de projetosRodolfo Almeida
 
Introdução às Geotecnologias - GPS (Global Positioning System)
Introdução às Geotecnologias - GPS (Global Positioning System)Introdução às Geotecnologias - GPS (Global Positioning System)
Introdução às Geotecnologias - GPS (Global Positioning System)Rodolfo Almeida
 
Cálculo numérico aula 04 - resolução de sistemas de equações lineares - mét...
Cálculo numérico   aula 04 - resolução de sistemas de equações lineares - mét...Cálculo numérico   aula 04 - resolução de sistemas de equações lineares - mét...
Cálculo numérico aula 04 - resolução de sistemas de equações lineares - mét...Rodolfo Almeida
 
Cálculo Numérico - Aula01: Introdução aos métodos numéricos
Cálculo Numérico - Aula01: Introdução aos métodos numéricosCálculo Numérico - Aula01: Introdução aos métodos numéricos
Cálculo Numérico - Aula01: Introdução aos métodos numéricosRodolfo Almeida
 
Cálculo Numérico - Aula 02: Introdução ao SCILAB
Cálculo Numérico - Aula 02: Introdução ao SCILABCálculo Numérico - Aula 02: Introdução ao SCILAB
Cálculo Numérico - Aula 02: Introdução ao SCILABRodolfo Almeida
 
Cálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funçõesCálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funçõesRodolfo Almeida
 

Plus de Rodolfo Almeida (13)

Geoprocessamento aplicado a estudos ambientais
Geoprocessamento aplicado a estudos ambientaisGeoprocessamento aplicado a estudos ambientais
Geoprocessamento aplicado a estudos ambientais
 
Classificação não-supervisionada de imagens de sensoriamento remoto utilizand...
Classificação não-supervisionada de imagens de sensoriamento remoto utilizand...Classificação não-supervisionada de imagens de sensoriamento remoto utilizand...
Classificação não-supervisionada de imagens de sensoriamento remoto utilizand...
 
Introdução à Modelagem Ambiental
Introdução à Modelagem AmbientalIntrodução à Modelagem Ambiental
Introdução à Modelagem Ambiental
 
Ricardo Mendes de Freitas - Modelagem Matemática em Ecologia de Populações
Ricardo Mendes de Freitas - Modelagem Matemática em Ecologia de PopulaçõesRicardo Mendes de Freitas - Modelagem Matemática em Ecologia de Populações
Ricardo Mendes de Freitas - Modelagem Matemática em Ecologia de Populações
 
Criando uma base cartográfica a partir de dados de Sensoriamento Remoto
Criando uma base cartográfica a partir de dados de Sensoriamento RemotoCriando uma base cartográfica a partir de dados de Sensoriamento Remoto
Criando uma base cartográfica a partir de dados de Sensoriamento Remoto
 
Introdução à Computação Aplicada
Introdução à Computação AplicadaIntrodução à Computação Aplicada
Introdução à Computação Aplicada
 
Sensoriamento Remoto dos Recursos Naturais - Aula 01
Sensoriamento Remoto dos Recursos Naturais - Aula 01Sensoriamento Remoto dos Recursos Naturais - Aula 01
Sensoriamento Remoto dos Recursos Naturais - Aula 01
 
Orientações básicas para a elaboração de projetos
Orientações básicas para a elaboração de projetosOrientações básicas para a elaboração de projetos
Orientações básicas para a elaboração de projetos
 
Introdução às Geotecnologias - GPS (Global Positioning System)
Introdução às Geotecnologias - GPS (Global Positioning System)Introdução às Geotecnologias - GPS (Global Positioning System)
Introdução às Geotecnologias - GPS (Global Positioning System)
 
Cálculo numérico aula 04 - resolução de sistemas de equações lineares - mét...
Cálculo numérico   aula 04 - resolução de sistemas de equações lineares - mét...Cálculo numérico   aula 04 - resolução de sistemas de equações lineares - mét...
Cálculo numérico aula 04 - resolução de sistemas de equações lineares - mét...
 
Cálculo Numérico - Aula01: Introdução aos métodos numéricos
Cálculo Numérico - Aula01: Introdução aos métodos numéricosCálculo Numérico - Aula01: Introdução aos métodos numéricos
Cálculo Numérico - Aula01: Introdução aos métodos numéricos
 
Cálculo Numérico - Aula 02: Introdução ao SCILAB
Cálculo Numérico - Aula 02: Introdução ao SCILABCálculo Numérico - Aula 02: Introdução ao SCILAB
Cálculo Numérico - Aula 02: Introdução ao SCILAB
 
Cálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funçõesCálculo Numérico - Aula 03: Zeros de funções
Cálculo Numérico - Aula 03: Zeros de funções
 

Matlab - Conceitos Básicos

  • 2. O que é o MATLAB? MATrix LABoratory é um software para resolução de problemas numéricos e visualização computacional. MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 3. O que é o MATLAB? • Desenvolvido pela Mathworks Inc., sede em Natick, Massachusetts, EUA. http://www.mathworks.com/ MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 4. Características • Software multiplataforma: Distribuições para Windows, Linux/Unix e Mac. MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 5. Características • Possui ambiente interativo e uma linguagem simples, de alto nível cujos recursos permitem ganho no tempo de implementação. MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 6. Vantagens • Seu ambiente de desenvolvimento permite interação do MATLAB com outras linguagens como C/C++, Java, Fortran. Isto permite o desenvolvimento de toolboxes: extensões de sua linguagem para solução de problemas específicos. MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Toolbox de Otimização Toolbox de Redes Neurais Toolbox de Proc. de Imagens
  • 7. Desvantagens • Não aconselhável para solução de problemas complexos que exijam elevado esforço computacional: por ser baseado em uma linguagem de programação interpretada. • Você tem que pagar para usá-lo (05/05/09): Versão Estudante: U$ 99.00 Cada toolbox: U$ 59.00
  • 8. Alternativas ao MATLAB • SciLab: software livre que possui os mesmas características do MATLAB anteriormente mencionadas. Nos últimos anos vem ganhando espaço no meio acadêmico. Possui distribuições para Windows e Linux. MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 10. Inicializando o MATLAB Iniciar > Executar > “matlab” <enter> Iniciar > Programas > MATLAB > MATLAB Pelo prompt de comando do MS-DOS: > “matlab” <enter> MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 11. O Ambiente do MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 12. O Ambiente do MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Diretório de trabalho
  • 13. O Ambiente do MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Current directory: Exibe o conteúdo do diretório de trabalho
  • 14. O Ambiente do MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Janela de comandos
  • 15. O Ambiente do MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 16. O Ambiente do MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 17. O Ambiente do MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Workspace: Exibe informações acerca das variáveis carregadas na memória
  • 18. O Ambiente do MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Command history: Exibe informações acerca do histórico de comandos
  • 19. O Ambiente MATLAB Os comandos do MATLAB são definidos em uma linguagem própria. Suas instruções podem ser interpretadas: • via janela de comandos • via arquivos com um conjunto de instruções (script) editado com o MATLAB Editor e salvo em um arquivo de extensão “.m”. O bom uso do MATLAB exige um melhor domínio da sintaxe de sua linguagem. MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 20. Declaração de variáveis MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida • Variável: Elemento de um programa que é declarado e armazenado na memória, cujo valor pode ser modificado ao longo de sua execução. • Declaração de uma variável no MATLAB: usa- se o operador atribuição “=”. >> variavel = valor; • Tipos de valores: Os tipos podem ser numérico (real ou inteiro), complexo ou caractere.
  • 21. Declaração de variáveis MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Regras para nomes Comentário e exemplos Case sensitive Custo, CustO, CuStO e CUSTO são variáveis diferentes no MATLAB Devem conter no máximo 31 caracteres CustoTotalAnoAnterior = 10 CustoTotalEstimadoProximoAno = 4 Não deve começar com número e nem conter pontuações ou espaços Valor_Estimado = 3 Valor1 = 9.2 X123 = 2.5
  • 22. Declaração de variáveis Representação das variáveis: matrizes Escalar String Matrizes numéricas MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida X = 3 Matriz (1x1) BALTAM nome = „MATLAB‟ Vetor linha 01 10 B 101B 1 0 1 B
  • 23. Declaração de variáveis • Declarando matrizes no MATLAB: 1. Os elementos devem ser declarados entre [ ] 2. Os elementos de uma mesma linha numa matriz são separados por espaço(s) ou vírgula 3. ponto-e-vírgula(;) indica o final de uma linha de uma matriz ou final de uma expressão MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida 452 906 841 A A = [1 4 8; 6 0 9; 2 4 5]
  • 24. Operadores aritméticos matriciais MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Operação Símbolo Adição + Subtração - Multiplicação * Divisão / Potenciação ^ Matriz transposta „
  • 25. Operadores aritméticos >> a = 4 a = 4 >> b = 3 b = 3 >> c = a + b c = 7 >> c1 = a – b c1 = 1 >> c2 = b / a c2 = 0.7500 >> c3 = a^2 + b^2 c3 = 25 MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 26. Operadores aritméticos >> A = [1 2; 3 4] A = 1 2 3 4 >> B = [5 6; 7 8] B = 5 6 7 8 >> C = A + B C = 6 8 10 12 >> C1 = A – B C1 = -4 -4 -4 -4 >> C2 = A^(-1) %=(inv(A)) C2 = -2.0000 1.0000 1.5000 -0.5000 >> C3 = A/B %=(A*inv(B)) C3 = 3.0000 -2.0000 2.0000 -1.0000 >> C4 = A^2 + B^2 C4 = 74 88 106 128 >> C5 = A’ C5 = 1 3 2 4 MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 27. Operadores aritméticos ponto-a-ponto MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Operação Símbolo Multiplicação .* Divisão ./ Potenciação .^ Operador ponto-a-ponto: Executa a operações entre (ou sobre) os elementos da matriz. Quando envolver duas matrizes, as suas dimensões devem ser as mesmas.
  • 28. Operadores aritméticos >> A = [1 2; 3 4] A = 1 2 3 4 >> B = [5 6; 7 8] B = 5 6 7 8 >> C1 = A * B C = 19 22 43 50 >> C1 = A .* B C2 = 5 12 21 32 >> D1 = A/B C3 = 3.0000 -2.0000 2.0000 -1.0000 >> D2 = A./B D1 = 0.2000 0.3333 0.4286 0.5000 >> E1 = A^3 E1 = 37 54 81 118 >> E2 = A.^3 E2 = 1 8 27 64 MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 29. Operador dois-pontos (:) É um dos operadores mais úteis do MATLAB. Cria vetores e serve para manipular índices de matrizes. Criando vetores: >> vetor = valor_inicial:incremento:valor_final >> vetor = valor_inicial:valor_final (incremento=1) MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 30. Operador dois-pontos (:) MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida >> C = 1:2:11 C = 1 3 5 7 9 11 >> E = [1:1:3;4:1:6;7:1:9] E = 1 2 3 4 5 6 7 8 9 >> D = 0 : 0.5 : 3 D = 0 0.5 1.0 1.5 2.0 2.5 3.0
  • 31. >> A = [1 : 2 : 15] A = 1 3 5 7 9 11 13 15 >> A(1,5) ans = 9 >> B = [1:1:3;2:2:6;5:2:9] B = 1 2 3 2 4 6 5 7 9 >> b = [10 20 30] b = 10 20 30 >> B = [B;b] B = 1 2 3 2 4 6 5 7 9 10 20 30 >> B(1:3,2) ans = 2 4 7 >> B(3,:) ans = 5 7 9 >> B([2 3],[1 2]) ans = 2 4 5 7 >> B(end,:) ans = 10 20 30 Manipulação de Matrizes MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 32. Manipulação de matrizes >> A = ones(3,3) A = 1 1 1 1 1 1 1 1 1 >> B = zeros(4,3) B = 0 0 0 0 0 0 0 0 0 0 0 0 >> I = eye(4,4) I = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 >> C = rand(3,3) C = 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 >> rand('seed',0) >> D = rand(3,3) D = 0.2190 0.6793 0.5194 0.0470 0.9347 0.8310 0.6789 0.3835 0.0346 >> E = diag(D) E = 0.2190 0.9347 0.0346 MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 33. Manipulação de matrizes >> A = ones(3,3) A = 1 1 1 1 1 1 1 1 1 >> dimA = size(A) dimA = 2 3 >> A1 = diag(A) A1 = 1 1 1 >> maxdimA = length(A) maxdimA = 3 >> B = diag(5 * A1) B = 5 0 0 0 5 0 0 0 5 >> rand('seed',10) >> C = rand(size(A)) C = 0.1291 0.9505 0.1597 0.6048 0.3367 0.7808 0.5040 0.0924 0.6925 >> C1 = triu(C) C1 = 0.1291 0.9505 0.1597 0 0.3367 0.7808 0 0 0.6925 >> C2 = tril(C) C2 = 0.1291 0 0 0.6048 0.3367 0 0.5040 0.0924 0.6925 MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 34. Exercícios Defina as matrizes e efetue as seguintes operações: MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida índicesdemaisospara3, ímparesepara,2 paresepara,1 )( 99 ji ji bB ij índicesdemaisospara3, parímparpara,2 ímparparpara,6 )( 99 jei jei aA ij a) A * A‟ b) B^2 c) B.^2 d) A * B e) A .^B f) A./B
  • 35. Exercícios >> A = 3 * ones(9,9) >> A(2:2:end,1:2:end)=6 >> A(1:2:end,2:2:end)=2 >> disp(A) 3 2 3 2 3 2 3 2 3 6 3 6 3 6 3 6 3 6 3 2 3 2 3 2 3 2 3 6 3 6 3 6 3 6 3 6 3 2 3 2 3 2 3 2 3 6 3 6 3 6 3 6 3 6 3 2 3 2 3 2 3 2 3 6 3 6 3 6 3 6 3 6 3 2 3 2 3 2 3 2 3 MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 36. Exercícios >> B = 3 * ones(9,9) >> B(2:2:end,2:2:end)=1 >> B(1:2:end,1:2:end)=2 >> disp(B) 2 3 2 3 2 3 2 3 2 3 1 3 1 3 1 3 1 3 2 3 2 3 2 3 2 3 2 3 1 3 1 3 1 3 1 3 2 3 2 3 2 3 2 3 2 3 1 3 1 3 1 3 1 3 2 3 2 3 2 3 2 3 2 3 1 3 1 3 1 3 1 3 2 3 2 3 2 3 2 3 2 MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 37. Operadores lógicos e relacionais MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Operador relacional Símbolo Igual == Diferente ~= Maior > Menor < Maior ou igual >= Menor ou igual <= Operador lógico Símbolo E & Ou | Não ~ 1: True – Verdadeiro 0: False - Falso
  • 38. Operadores lógicos e relacionais >> 2 == 3 ans = 0 >> 2 <= 3 ans = 1 >> (2 == 3) & (2 <= 3) ans = 0 >> ~(2 == 3) & (2 <= 3) ans = 1 >> (2 ~= 3) & (2 <= 3) ans = 1 MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 39. Trabalhando com scripts • O que é um script? o conjunto de instruções do MATLAB que podem ser executadas sistematicamente. • Para que serve? o Sintetiza os comandos freqüentemente digitados em um único comando (o script com os comandos é executado) o Aplicável a problemas mais extensos onde é exigido mais comandos MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 40. Editando scripts MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Outra opção: File > New M-File
  • 41. Programando em MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 42. Programando em MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Salvar o script em um diretório de sua preferência Executar o script. Atalho: F5
  • 43. Entrada e Saída (tela) • Comando de entrada: input R = input(‘Forneca o valor de entrada:') >> Forneca o valor de entrada: <digitar valor> <enter> • Comando de saida: disp disp(X) Mostra o valor de X na janela de comandos. disp('Ola Mundo!') >> Ola Mundo! MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 44. Entrada e Saída (tela) clc A = input('Forneca uma matriz 2 x 2: '); B = input('Forneca uma matriz 2 x 2: '); C1 = A + B; C2 = A * B; disp('Soma entre as duas matrizes: '); disp(C1) disp('Produto entre as duas matrizes: '); disp(C2) MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 45. Entrada e Saída (arquivos) • Comando de entrada: load Formato ASCII: >> x = load('arquivo.txt'); Formato binário do MATLAB: >> load arquivo.mat • Comando de saída: save Formato ASCII: >> save „arquivo.txt‟ variaveis –ascii Formato binário do MATLAB: >> save „arquivo.mat‟ variaveis MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 46. Entrada e Saída (arquivos) dados = load('lorenz_xyz.txt'); t = dados(:,1); x = dados(:,2); y = dados(:,3); z = dados(:,4); save lorenz_xyz.mat t x y z; MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Obtenha o arquivo: http://br.geocities.com/rodmaduro/lorenz_xyz.txt
  • 47. Controladores de fluxo if expressao_1 instrucoes_1 else instrucoes_2 end if expressao_1 instrucoes_1 elseif expressao_2 instrucoes_2 else instrucoes_3 end MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida if: cria caminhos alternativos na execução de um script.
  • 48. Controladores de fluxo disp('Script que compara dois numeros') a = input('Forneca um numero: '); b = input('Forneca outro numero: '); if a > b disp(['Numero maior: ' num2str(a)]) disp(['Numero menor: ' num2str(b)]) else disp(['Numero maior: ' num2str(b)]) disp(['Numero menor: ' num2str(a)]) end MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 49. Controladores de fluxo disp('Script que compara dois numeros') a = input('Forneca um numero: '); b = input('Forneca outro numero: '); if a > b disp(['Numero maior: ' num2str(a)]) disp(['Numero menor: ' num2str(b)]) elseif a < b disp(['Numero maior: ' num2str(b)]) disp(['Numero menor: ' num2str(a)]) else disp(['Os dois numeros sao iguais a ' num2str(a)]) end MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 50. Controladores de fluxo for variavel = valor_inicial:passo:valor_final instrucoes; end MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida for: permite que um grupo de instruções se repitam por um número especificado de vezes.
  • 51. Controladores de fluxo N = input('Forneca a dimensao da matriz: '); A = zeros(N,N); for i = 1:N for j=1:N A(i,j) = 2 * i - 3 * j; end end disp(A) MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida jiaA NNij 32)(
  • 52. Controladores de fluxo clc N = input('Forneca a dimensao da matriz: '); A = zeros(N,N); for i = 1:N for j=1:N if (mod(i,2) == 0) & (mod(j,2) == 1) A(i,j) = 6; elseif (mod(i,2) == 1) & (mod(j,2) == 0) A(i,j) = 2; else A(i,j) = 3; end end end disp(A) MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida índicesdemaisospara3, parímparpara,2 ímparparpara,6 )( 99 jei jei aA ij
  • 53. Controladores de fluxo while (expressao de controle) instrucoes; end MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida while: permite que um grupo de instruções se repitam enquanto uma determinada expressão de controle for verdadeira.
  • 54. Controladores de fluxo EPS = 2; while (1+EPS) > 1 EPS = EPS/2; end disp(EPS) MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida EPS é o maior número que adicionado a 1 torna seu valor igual a 1. Isso acontece porque o computador um utiliza número fixo de dígitos para representar os números. O MATLAB usa 16 dígitos de precisão, nesse caso o valor de EPS será próximo de 10^(-16): >> EPS EPS = 1.1102e-016 >> 1 + EPS == 1 ans = 1
  • 55. Controladores de fluxo MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida break: encerra a execução de um laço de repetição (for ou while). EPS = 1; for num = 1 : 1000 EPS = EPS / 2; if ~((1+EPS) > 1) break end end disp(EPS) EPS = 1; while (1+EPS) > 1 EPS = EPS/2; end disp(EPS)
  • 56. Visualizando figuras • Comando plot: gera um gráfico 2D >> plot(x,y) y: vetor linha ou vetor coluna y: vetor linha ou vetor coluna • Exemplo: x = -pi:0.001:pi; y = sin(x); plot(x,y) axis([-pi pi -1 1]) xlabel('x') ylabel('sin(x)') title('Grafico da Função Seno') MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 57. Visualizando figuras • Comando plot3: gera um gráfico 3D >> plot3(x,y,z) y: vetor linha ou vetor coluna y: vetor linha ou vetor coluna z: vetor linha ou vetor coluna • Exemplo: t = 0 : pi/50 :10*pi; plot3(sin(t) ,cos(t) ,t) axis([-1 1 -1 1 0 40]) xlabel('x') ylabel(„y') zlabel(„z') grid on MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 58. Salvando figuras • Comando print: print(gcf,formato,nome_da_figura) Formatos mais comuns: -dpng: salva figura em PNG -deps: salva em Encapsulated PostScript -depsc: salva Encapsulated Color PostScript MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 59. Salvando figuras clc; close all; dados = load('lorenz_xyz.txt'); t = dados(:,1); x = dados(:,2); y = dados(:,3); z = dados(:,4); figure; subplot(3,1,1) plot(t,x) xlabel('t') ylabel('x(t)') subplot(3,1,2) plot(t,y) xlabel('t') ylabel('z(t)') subplot(3,1,3) plot(t,z) xlabel('t') ylabel('z(t)‘) print(gcf,'-dpng',‘lorenz_xyz.png') MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Para baixar o aquivo 'lorenz_xyz.txt' clique aqui.
  • 60. Salvando figuras clc; close all; dados = load('lorenz_xyz.txt'); t = dados(:,1); x = dados(:,2); y = dados(:,3); z = dados(:,4); figure; plot3(x,y,z) xlabel('x(t)') ylabel('x(t)') zlabel('z(t)') grid on print(gcf,'-dpng',‘lorenz3d.png') MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 61. Funções em MATLAB • Uma função é um trecho de código que admite parâmetros de entrada e retorna valores. • Arquivos “.m” podem ser tanto scripts quanto funções. • Os comandos nativos do MATLAB são funções criadas na sua própria linguagem. function variavel_retorno = nome_da_funcao(variaveis_entrada) instrucoes para obter variavel_retorno; MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 62. Criando uma função no MATLAB function distancia = calcula_distancia(x,y) diferenca = x - y; distancia = sqrt(diferenca*transpose(diferenca)); MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida Exemplo: Função que calcula a distancia euclidiana entre dois vetores do Rn. Crie e salve o seguinte arquivo “.m”:
  • 63. • Para executar essa função, vá a janela de comando e proceda da seguinte forma: >> p = [1 0 0]; >> q = [0 1 0]; >> d = calcula_distancia(p, q) • Ou: >> d = calcula_distancia([1 0 0], [0 1 0]) Criando uma função no MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 64. Como aprender mais e mais sobre MATLAB? • Acessando sua documentação: Comando doc: >> doc • Acessando scripts demonstrativos: Comando demo: >> demo • Maiores esclarecimentos sobre algum comando: >> help comando Exemplo: >> help plot >> doc plot MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 65. Como aprender mais mais sobre MATLAB? • Livros sobre MATLAB MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 66. Como aprender mais e mais sobre MATLAB? • Google: MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida
  • 67. MATLAB: Conceitos Básicos - Rodolfo Maduro Almeida