SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Matemática Discreta - Fundamentos
Matemática Discreta - FundamentosMatemática Discreta - Fundamentos
Matemática Discreta - FundamentosRanilson Paiva
 
Técnicas de detecção de avarias
Técnicas de detecção de avariasTécnicas de detecção de avarias
Técnicas de detecção de avariasAndre Santos
 
Potenciação radiciação e fatoração aula 1
Potenciação radiciação e fatoração aula 1Potenciação radiciação e fatoração aula 1
Potenciação radiciação e fatoração aula 1Daniela F Almenara
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Leinylson Fontinele
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
Raiz quadrada aproximada
Raiz quadrada aproximadaRaiz quadrada aproximada
Raiz quadrada aproximadaSILVIA MESSIAS
 
Relações e funções
Relações e funçõesRelações e funções
Relações e funções48470490206
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Passar um factor para dentro e para fora do radical
Passar um factor para dentro e para fora do radicalPassar um factor para dentro e para fora do radical
Passar um factor para dentro e para fora do radicalJeremias Manhica
 
Funções 10 - novo programa
Funções 10 - novo programaFunções 10 - novo programa
Funções 10 - novo programaPedro Teixeira
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascalTácito Graça
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Operações Fundamentais
Operações FundamentaisOperações Fundamentais
Operações FundamentaisElcielle .
 

Mais procurados (20)

Matemática Discreta - Fundamentos
Matemática Discreta - FundamentosMatemática Discreta - Fundamentos
Matemática Discreta - Fundamentos
 
Função modular
Função modularFunção modular
Função modular
 
Domain driven-design
Domain driven-designDomain driven-design
Domain driven-design
 
Técnicas de detecção de avarias
Técnicas de detecção de avariasTécnicas de detecção de avarias
Técnicas de detecção de avarias
 
Potenciação radiciação e fatoração aula 1
Potenciação radiciação e fatoração aula 1Potenciação radiciação e fatoração aula 1
Potenciação radiciação e fatoração aula 1
 
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
Sistemas Operacionais - Aula 01 (Conceitos básicos de so)
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
Slide disco rigido
Slide disco rigidoSlide disco rigido
Slide disco rigido
 
Raiz quadrada aproximada
Raiz quadrada aproximadaRaiz quadrada aproximada
Raiz quadrada aproximada
 
Relações e funções
Relações e funçõesRelações e funções
Relações e funções
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
 
Passar um factor para dentro e para fora do radical
Passar um factor para dentro e para fora do radicalPassar um factor para dentro e para fora do radical
Passar um factor para dentro e para fora do radical
 
Funções 10 - novo programa
Funções 10 - novo programaFunções 10 - novo programa
Funções 10 - novo programa
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Sist cont i_conf2_2014
Sist cont i_conf2_2014Sist cont i_conf2_2014
Sist cont i_conf2_2014
 
Aula 01 introdução a linguagem pascal
Aula 01   introdução a linguagem pascalAula 01   introdução a linguagem pascal
Aula 01 introdução a linguagem pascal
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Operações Fundamentais
Operações FundamentaisOperações Fundamentais
Operações Fundamentais
 

Semelhante a 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
 

Semelhante a 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
 

Mais 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
 

Mais 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