Professional Documents
Culture Documents
encia da Computacao
junho/2017.1
Vetores e Matrizes
Para o Matlab, os colchetes sao um operador de concatenacao.
Os elementos entre colchetes sao concatenados, resultando num
vetor/matriz.
>> X = [1 2 3 4 5];
Vetores e Matrizes
E possvel construir vetores associando varias tecnicas.
>> X = 1:10;
>> Y = 1:2:10;
Ou seja...
i:f - inicia com i e va ate f
i:n:f - inicia com i com incremento de n e va ate f
Vetores e Matrizes
Todos os elementos de um vetor podem ser acessados por um
ndice.
X(<n>) exibe o n-esimo elemento do vetor X
>> X = [1 2 3 4 5];
>> x1 = X(1);
>> x5 = X(5);
Vetores e Matrizes
X(<i>:<f>) exibe o i-esimo elemento ate o f-esimo elemento do
vetor X
>> X = 1:20;
>> val = X(2:5);
Vetores e Matrizes
X(<i>:end) exibe o i-esimo elemento ate o ultimo elemento do
vetor X
>> X = 1:20;
>> val = X(10:end);
Vetores e Matrizes
X(<i>:<n>:<f>) exibe comecando do i-esimo com incremento
<n> ate o f-esimo elemento do vetor X
>> X = 1:20;
>> val = X(4:2:10);
Vetores e Matrizes
Da mesma forma podemos comecar com valores decrescentes.
Vetores e Matrizes
O operador de concatenacao [ ] (colchetes) permite exibir os
elementos de um vetor na ordem que desejamos.
>> X = 1:20;
>> val = X([2 8 1 1 5])
>> X = 1:20;
>> ordem = [2 8 1 1 5]
>> val = X(ordem)
Vetores e Matrizes
Como criar um vetor coluna?
Os elementos de cada linha sao separados por ponto e vrgula ;
Padrao: X(linha,coluna).
>> X = [1 ; 2 ; 3 ; 4 ];
>> val = X(2,1);
Vetores e Matrizes
Criacao de matrizes.
Extensao das ideias de vetores linhas e vetores colunas.
>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> Y = [1 2 3 ; 4 5 6 ; 7 8]; % erro
>> Z = [1 2 3 ; 4 5 6 ; 7 8 9 0]; % erro
Vetores e Matrizes
X(i,j) - Retorna o valor da posicao linha-, coluna-.
X(i,:) - Retorna a sub-matriz da linha- e todas as colunas.
X(:,j) - Retorna a sub-matriz da coluna- e todas as linhas.
X(:) - Retorna todos os elementos da matriz X.
>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> X(2.2);
>> X(1,:);
>> X(:,2);
>> X(:);
Vetores e Matrizes
Operacoes com Matrizes: Transposta.
O caractere apostrofo indica a transposta de uma matriz.
>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> Y = X;
>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> Y = X;
>> add1 = X + Y;
>> add2 = X + 10;
>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> Y = X;
>> sub1 = X - Y;
>> sub2 = X - 10;
>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> Y = [4 5 6 ; 7 8 9 ; 1 2 3];
>> div1 = X ./ Y;
>> div2 = X ./ 10;
Vetores e Matrizes
Operacoes com Matrizes: Multiplicacao.
A multiplicacao elemento por elemento ou multiplicacao
pontuada e indicada por .*
A multiplicacao sem o ponto (*) entre duas matrizes represente a
multiplicacao matricial.
>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> Y = [4 5 6 ; 7 8 9 ; 1 2 3];
>> mul1 = X .* Y;
>> mul2 = X .* 10;
Vetores e Matrizes
Operacoes com Matrizes: Exponenciacao
Smbolo para exponenciacao: .^
A .^ B = [11 , . . . , ]
>> A = [1 2 3; 1 2 3];
>> B = [2 2 2; 3 3 3];
>> epo1 = A .^ B;
>> epo2 = A .^ 2;
Funcoes uteis
Funcoes uteis para criar matrizes:
ones - matriz formada apenas de 1s
zeros - matriz formada apenas de 0s
rand - matriz com elementos aleatorios distribudos no intervaldo [0 . . . 1]
>> ones(5,5);
>> zeros(5,5);
>> rand(5,5);
Funcoes uteis
[l,c]=size(A) - Retorna as dimensoes da matriz
[n]=numel(A) - Retorna o numero de elementos da matriz
>> A = [1 2 3; 1 2 3];
>> [lin,col] = size(A);
>> total_ele = numel(A);
Funcoes uteis
linspace(ini,fim,tam) - cria vetor linearmente espacados.
>> A = linspace(-10,10,100);
Funcoes uteis
[i,...,j] = find(condicao) - realiza uma busca dos ndices
de uma matriz.
>> A = -10:1:10
>> [i] = find(A>6)
Funcoes uteis
[val,pos] = min(X) - retorna o mnimo de um vetor X.
[val,pos] = max(X) - retorna o maximo de um vetor X.
>> X = rand(1,10);
>> [val,pos] = min(X);
>> [val,pos] = max(X);
>> Y = rand(10,10);
>> [val,pos] = min(Y(:));
>> [val,pos] = max(Y(:));
Funcoes uteis
sum(X) - retorna o somatorio dos elementos do vetor X.
prod(X) - retorna o produto dos elementos do vetor X.
>> X = rand(10,10);
>> sol1 = sum(X); % sum coluna por coluna
>> sol2 = prod(X); % prod coluna por coluna
Funcoes uteis
isequal(X,Y) - retorna 1 se X==Y. Senao, retorna 0.
>> X = rand(10,10);
>> Y = rand(10,10);
>> isequal(X,Y);
>> isequal(X,X);
Funcoes uteis
abs(X) - retorna valor absoluto.
>> X = -10:1:10;
>> Y = abs(X);
Exemplos
Considere o problema de calcular valores da funcao seno ao longo da
metade do seu perodo, ou seja, = (), onde 0 . Faca
uma amostragem da funcao com 51 pontos.
= ()
51 pontos
sin - Seno no Matlab
Exemplos
Considere o problema de calcular valores da funcao seno ao longo da
metade do seu perodo, ou seja, = (), onde 0 . Faca
uma amostragem da funcao com 51 pontos.
v = linspace(0,pi,51);
y1 = sin(v);
v = 0:0.02:1;
piv = pi .* v;
y2 = sin(piv);
Exemplos
O Erro Maximo (EM) e a maior diferenca absoluta entre cada par de
pontos entre das duas matrizes F e G. O erro maximo e expresso
como:
= [][] [][]
Considere:
n = 50;
F = rand(n,n);
G = rand(n,n);
Exemplos
O Erro Maximo (EM) e a maior diferenca absoluta entre cada par de
pontos entre das duas matrizes F e G. O erro maximo e expresso
como:
= [][] [][]
n = 50;
F = rand(n,n);
G = rand(n,n);
EM = max(max(abs(F-G)));