You are on page 1of 32

Introducao a Ci^

encia da Computacao

Operacoes com Vetores e Matrizes

junho/2017.1

Operacoes com Vetores e Matrizes junho/2017.1 1 / 32


Operacoes com Vetores e Matrizes

Operacoes com Vetores e Matrizes

Operacoes com Vetores e Matrizes junho/2017.1 2 / 32


Operacoes com Vetores e Matrizes

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];

Operacoes com Vetores e Matrizes junho/2017.1 3 / 32


Operacoes com Vetores e Matrizes

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

Operacoes com Vetores e Matrizes junho/2017.1 4 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 5 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 6 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 7 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 8 / 32


Operacoes com Vetores e Matrizes

Vetores e Matrizes
Da mesma forma podemos comecar com valores decrescentes.

>> X = 20:1; % erro


>> X = 20:-1:1;
>> Y = 20:-1:-20;
>> val = X(1:5)

Operacoes com Vetores e Matrizes junho/2017.1 9 / 32


Operacoes com Vetores e Matrizes

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)

Operacoes com Vetores e Matrizes junho/2017.1 10 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 11 / 32


Operacoes com Vetores e Matrizes

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

Operacoes com Vetores e Matrizes junho/2017.1 12 / 32


Operacoes com Vetores e Matrizes

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(:);

Operacoes com Vetores e Matrizes junho/2017.1 13 / 32


Operacoes com Vetores e Matrizes

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;

Operacoes com Vetores e Matrizes junho/2017.1 14 / 32


Operacoes com Vetores e Matrizes

Operacoes com Matrize


Operacoes com Matrizes: Adicao.
A adicao e indicara por +.
Operacoes validas para matrizes com as mesmas dimensoes.
Tambem e realizada com um operador escalar (matriz 1 1).

>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> Y = X;
>> add1 = X + Y;
>> add2 = X + 10;

Operacoes com Vetores e Matrizes junho/2017.1 15 / 32


Operacoes com Vetores e Matrizes

Operacoes com Matrize


Operacoes com Matrizes: Subtracao.
A subtracao e indicara por -.
Operacoes validas para matrizes com as mesmas dimensoes.
Tambem e realizada se um operador escalar (matriz 1 1).

>> X = [1 2 3 ; 4 5 6 ; 7 8 9];
>> Y = X;
>> sub1 = X - Y;
>> sub2 = X - 10;

Operacoes com Vetores e Matrizes junho/2017.1 16 / 32


Operacoes com Vetores e Matrizes

Operacoes com Matrize


Operacoes com Matrizes: Divisao.
A divisao elemento por elemento ou divisao pontuada e indicada
por ./
A divisao sem o ponto e a operacao de divisao matricial (algebra
matricial).

>> 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;

Operacoes com Vetores e Matrizes junho/2017.1 17 / 32


Operacoes com Vetores e Matrizes

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;

Operacoes com Vetores e Matrizes junho/2017.1 18 / 32


Operacoes com Vetores e Matrizes

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;

Operacoes com Vetores e Matrizes junho/2017.1 19 / 32


Operacoes com Vetores e Matrizes

Funcoes uteis para Vetores e Matrizes

Operacoes com Vetores e Matrizes junho/2017.1 20 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 21 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 22 / 32


Operacoes com Vetores e Matrizes

Funcoes uteis
linspace(ini,fim,tam) - cria vetor linearmente espacados.

>> A = linspace(-10,10,100);

Operacoes com Vetores e Matrizes junho/2017.1 23 / 32


Operacoes com Vetores e Matrizes

Funcoes uteis
[i,...,j] = find(condicao) - realiza uma busca dos ndices
de uma matriz.

>> A = -10:1:10
>> [i] = find(A>6)

Operacoes com Vetores e Matrizes junho/2017.1 24 / 32


Operacoes com Vetores e Matrizes

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(:));

Operacoes com Vetores e Matrizes junho/2017.1 25 / 32


Operacoes com Vetores e Matrizes

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

Operacoes com Vetores e Matrizes junho/2017.1 26 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 27 / 32


Operacoes com Vetores e Matrizes

Funcoes uteis
abs(X) - retorna valor absoluto.

>> X = -10:1:10;
>> Y = abs(X);

Operacoes com Vetores e Matrizes junho/2017.1 28 / 32


Operacoes com Vetores e Matrizes

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

Operacoes com Vetores e Matrizes junho/2017.1 29 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 30 / 32


Operacoes com Vetores e Matrizes

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);

Operacoes com Vetores e Matrizes junho/2017.1 31 / 32


Operacoes com Vetores e Matrizes

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)));

Operacoes com Vetores e Matrizes junho/2017.1 32 / 32

You might also like