Linguagem Orientada a
Matrizes
COB 727
Maurício Cagy
Bibliografia

Hahn, B., Valentine, D., Essential Matlab for
Engineers and Scientists, 4th Ed., Oxford:
Academic Press, 2010.

Gilat, A., Matlab: An Introduction with
Applications, John Wiley & Sons, 2004.

Cagy, M., Fundamentos de Matlab, apostila, 1997.
Linguagens Orientadas a
Matrizes

SciLab;
 Octave;
 FreeMat;
 JMathLib;
 Matlab.
Álgebra de Escalares

Puramente Reais ou Complexos...
 Propriedades:
Soma / Diferença
a+0 = a
a+(b+c) = (a+b)+c
a+b = b+a
a-b = a+(-b)
Produto / Divisão
a0 = 0
a1 = a
a(b+c) = ab+ac
a(bc) = (ab)c
ab = ba
a / = 1/  a
b
b
Álgebra Vetorial

“Ênuplas” Reais: (x1, x2, ..., xN)
– Aplicação em geometria, cálculo vetorial...

Propriedades (ex. 3D):
– u=(xu, yu, zu);
– v=(xv, yv, zv);
– 0=(0, 0, 0).
Soma / Diferença
u+v = (xu+xv, yu+yv, zu+zv)
u+0 = u
u+(v+w) = (u+v)+w
u+v = v+u
-v = (-xv, -yv, -zv);
u-v = u+(-v)
Produto por Escalar
au = (axu, ayu, azu);
Produto Escalar
uv = xuxv + yuyv + zuzv
u0 = 0
uu = |u|2 (quadrado do módulo)
uv = vu
Produto Vetorial
u  v  Definido apenas em 3D
Álgebra Linear

Vetores:
– Agrupamento de valores quaisquer (reais ou complexas);

Propriedades:
– u=[u1, u2, u3]; v=[v1, v2, v3]
– w=[w1, w2, w3];
– 0=(0, 0, 0) (vetores-linha).
Soma / Diferença
u+v = [u1+v1, u2+v2, u3+v3]
u+0 = u
u+(v+w) = (u+v)+w
u+v = v+u
-v = [-v1, -v2, -v3];
u-v = u+(-v)
ut = vetor-coluna (transposição)
 s1 
 
s= s 2 
 s 3 
(vetor-coluna)
Produto por Escalar
au = (au1, au2, au3);
Produto
uv = !!
us = u1s1 + u2s2 + u3s3
0s = 0
uut = ||u||2 (quadrado da norma)
(u+v)s = us + vs
Álgebra Linear

Exemplo:
8
– Cada cesta de maçãs tem 8 maçãs; cada saco de
10
f

laranja tem 10 laranjas; cada caixa de mangas
 
tem 6 mangas...
 6 
– Fulano tem 3 cestas de maçãs, 1 saco de laranja
8
Quantas frutas ele tem? u f  3 1 2 10  24  10  12  46
 
 6 
e 2 caixas de mangas: u = [3, 1, 2];

– Beltrano tem 4 cestas de maçãs, 2 saco de laranja
e 1 caixas de mangas: v = [4, 2, 1];  8 
v  f  4 2 1 10  32  20  6  58
 Quantas frutas ele tem?
– Agrupando as 2 operações...
 6 
8
3 1 2   46
4 2 1   10  58

 6  
 
Álgebra Linear

Exemplo das frutas e recipientes...
8
3 1 2   46
4 2 1   10  58

 6  
 
Matriz
23

Vetor-coluna
31
Vetor-coluna
21
Requisito de dimensões para o Produto Matricial:
– [m  p]  [p  n] = [m  n]
Álgebra Linear

Se não conhecêssemos o vetor f...
 f1 
3 1 2   46
4 2 1    f 2   58

 f   
 3

Isto se traduz num sistema de equações:
3 f1  1 f 2  2 f 3  46

4 f1  2 f 2  1 f 3  58

Sistema INDETERMINADO
Álgebra Linear

Se soubéssemos que Sicrano tem 2 cestas de maçãs, 3
sacos de laranja e nenhuma caixa de mangas:
w = [2, 3, 0], e, portanto, 46 frutas...
3 1 2  f1  46
4 2 1    f   58

  2  
2 3 0   f 3  46

Que compõe um sistema de equações consistente, ou
uma Equação Matricial:
– Af=b
– Analogamente a uma equação linear: a  f = b  f = b/a = a-1b
– f = A-1  b, caso A seja inversível.
Produto Interno  Produto Externo
– u = [u1, u2, ... , un];
 s1 
– s =  s2 
 
 
 s m 
– Produto Interno: us = u1s1 + u2s2 + ... + unsn (n=m!)
– Produto Externo:
 s1u1
s u
su   2 1
 

sm u1
s1u 2
s2 u 2

sm u 2
 s1u n 
 s2u n 

 

 sm u n 
Exemplo: Transformada de Fourier
como Produto Matricial...
– Transformada Discreta de Fourier (DFT):
N 1
ak   x[n]e  jk ( 2 / N ) n , para k = 0, 1, ..., N-1
n 0
x k  exp j  2 / N  k  n  x n 
onde:
 0 
 1 
k

  
 N  1
n  0 1  N  1
 x[0] 
 x[1] 
xn  

 

 x[ N  1]
Os Coeficientes de um Polinômio
como um Vetor...
– Seja o polinômio:
aNxN + aN-1xN-1 + ... + a0
– ele pode ser representado pelo vetor:
a = [aN, aN-1, ..., a0]
– Desafio:

Encontrar o polinômio de ordem N cujo
gráfico passa por N+1 pontos conhecidos...
Outras Propriedades

Sejam as matrizes A e B tais que as operações abaixo
são viáveis:
Transposição
(At)t = A
(A + B)t = At + Bt
(A - B)t = At - Bt
(A  B)t = Bt  At
Inversão
(A-1)-1 = A
(A  B)-1 = B-1  A-1
Operadores Lineares

Dada uma matriz quadrada A (n  n), dizemos que ela é
um operador linear se consideramos y = f(x) = A  x...
– Operadores lineares usuais:




Projeção;
Reflexão;
Rotação.
Exemplo - Operador Rotação em 2D:
x  R cos ,
y  R sen
x'  R cos(   )  R cos cos  R sen sen
y'  R sen(   )  R sen cos  R cos sen
 x ' cos  sen   x 
 y '  sen cos   y 
  
 
R ( )   f (e 1 ) f (e 2 )
Operadores Lineares

Operador Rotação em 3D:
0
1
R x ( )  0 cos
0 sen
0 
 cos
 sen  R y ( )   0
 sen
cos 
cos cos
R z ( )R y ( )R x ( )  cos sen
  sen

0 sen 
cos
1
0  R z ( )  sen
 0
0 cos 
 cos sen  sen sen cos
cos cos  sen sen sen
sen cos
Rotação em torno de um eixo u:
 sen
cos
0
sen sen  cos sen cos 
 sen cos  cos sen sen 

cos cos
0
0
1
Rotação + Translação

A Translação não é um Operador Linear!
• ft(x1+x2) = x1+x2+t  ft(x1)+ ft(x2) = x1+t+x2+t

Associação usual de rotação e translação:
• y=Rx+t
•
 x '  r11 r12
 y '  r
   21 r22
 z '   r31 r32
r13   x  t x 
r23   y   t y 
r33   z  t z 
Álgebra homogênea:
• y = RT  x
 x'  r11 r12
 y ' r
    21 r22
 z '  r31 r32
  
1  0 0
r13
r23
r33
0
tx  x
t y   y 
tz  z 
 
1  1 
Mudança de Base

Dados n vetores linearmente independentes de um
espaço n-dimensional, qualquer ponto neste espaço
pode ser representado por uma combinação linear
destes n vetores. Para n = 3: t = au+bv+cw
 t x  u x
t   u
 y  y
 t z  u z
vx
vy
vz
wx   a 
w y  b   t  U  a
wz   c 
– portanto, dizemos que u, v e w formam uma base () do
espaço tridimensional, e a tríade [a, b, c]t representa as
coordenadas do ponto t nesta base, e
a = U-1t
é o processo de mudança de base a partir da base canônica
para a base .
Mudança de Base

Ilustração no espaço bidimensional (bases
ortonormais):
x  R cos ,
y  R sen
x'  R cos(   )  R cos cos  R sen sen
y '  R sen(   )  R sen cos  R cos sen
 x'  cos
 y '   sen
  
sen   x 
cos   y 
t


u
1
t
U  u v   U  U   t 
v 
Autovalores e Autovetores

Seja A uma matriz quadrada, diz-se que ela possui
um ponto fixo x se:
Ax = x
 De maneira mais geral, define-se um autovalor de
A, , como um escalar tal que:
Ax = x
– situação em que o vetor x é chamado de autovetor de A
associado a .

Problema:
– Estabelecer os autovalores  de uma matriz A;
– Estabelecer um autovetor não-nulo associado a cada
autovalor .
Autovalores e Autovetores

Seja A uma matriz n  n; se Ax = x, então:
A  x  λ  I  x  λ  I  x  A  x  0  ( λ  I  A)x  0
– como x é não-nulo, então det (I - A) = 0;
– det (I - A) = 0 é chamada equação característica de A.

Exemplo:
1 2
  1  2 
A
  I  A  


3 2
  3   2
 1  2
 0  (  1)(  2)  6  0
3  2
2  3  2  6  2  3  4  0
1  1

 2  4
Autovalores e Autovetores

Para 1 = -1:
  1  2    2  2 
  3   2    3  3

 

 2  2  x11  0
  3  3   x   0 

  12   
 x11   x12

Para 2 = 4
  1  2   3  2 
  3   2    3 2 

 

 3  2  x21  0
  3 2   x   0 

  22   
 3x21  2 x22
Autovalores e Autovetores

Propriedades:
  i  tr(A)
n

 i  det(A)
n
 Se não houver autovalor nulo, det(A)  0, logo A é
inversível;
 O número de autovalores não-nulos (contabilizando as
multiplicidades maiores que 1) é o posto de A;
 O conjunto de autovetores associados a todos
autovalores não-nulos de A compõe o autoespaço de A;
 Caso A seja quadrada, seus autovetores são ortogonais.
Decomposição em Autovalores
 Considerando
a matriz quadrada
inversível A como um Operador Linear:
 y = Ax;
 se montarmos uma matriz P cujas colunas
são autovetores de A:


z = P-1x representa a mudança de base de x da
base canônica para o autoespaço de A, de
modo que:
Az = Dz
onde D é uma matriz diagonal com os
autovalores ordenados de A...
Decomposição em Autovalores
 Assim:
 w = Dz = DP-1x representa a aplicação do
operador A sobre a notação de x no
autoespaço de A;
 Logo, para se obter y, basta voltar para a
base canônica: y = Pw = PDP-1x.
 Ou
seja:
A = PDP-1
 Que é a chamada Decomposição em
Autovalores (EVD) de A.
Diagonalização Ortogonal
 Caso
a matriz A seja simétrica:
A = PDPt
 onde P é uma matriz ortonormal formada pelos
autovetores de A, de modo que P-1=Pt.
 Diz-se
que P diagonaliza ortogonalmente A.

 1 0 0  
A   v 1  v n   0  0  

  0 0 n  
v1

vn




Variância e Covariância

Para um sinal x[n] ergódico:

  Ex[n]

var(x[n])  c xx [0]  E x[n]  Ex[n] 

 Ex[n]  
 E x[n]   x
2
2
2
x
2
2

  x2 
 rxx [0]   x2
onde E{...} refere-se à esperança matemática.
Analogamente, a covariância entre 2 sinais x[n] e y[n] 0 é definida por:
cov(x[n], y[n])  c xy [0]  Ex[n]  Ex[n] y[n]  Ey[n] 
 Ex[n] y[n]  x  y  rxy [0]   x  y
Matriz de Covariância

Sejam k sinais ergódicos x1[n] a xk[n]:
 c x1x1 [0] c x1x2 [0]
c [0] c [0]
x x
x2 x2
C 2 1
 


c xk x1 [0] c xk x2 [0]

 c x1xk [0]
 c x2 xk [0]

 

 c xk xk [0]
Se os sinais são todos reais, C é uma matriz simétrica, que pode ser
dada por:
Xt X
C
N 1
onde X é uma matriz (N  k) cujas colunas são os sinais subtraídos de suas
respectivas médias.
 x1[0]  x1
 x [1]  x
1
X 1



 x1[ N  1]  x1
x2 [0]  x2
x2 [1]  x2

x2 [ N  1]  x2

xk [0]  xk 

xk [1]  xk 




 xk [ N  1]  xk 
Análise de Componentes Principais (PCA)

Sejam k sinais ergódicos x1[n] a xk[n]
correlacionados entre si (não ortogonais):
• sua matriz de covariância C não é diagonal.

Existe um conjunto de k outros sinais
descorrelacionados entre si (ortogonais e de
média nula), s1[n] a sk[n] (componentes
principais), tais que: Xt  A  S t
 Problema: achar A e S...
Análise de Componentes Principais (PCA)

Multiplicando-se ambos os lados por X:
Xt  X  A  S t  X  A  S t  S  A t
– mas os sinais si[n] são ortogonais por
pressuposição, de modo que StS é uma matriz
diagonal. Dividindo-se ambos os lados por N1,
tem-se que:
C  A  D  At
o que evidencia que A é a matriz que diagonaliza
ortogonalmente C:
•
decomposição por auto-valores e auto-vetores de C.
Decomposição em Valores Singulares (SVD)

Uma matriz A de tamanho m  n (supondo m  n, por
simplicidade), com posto k, pode ser fatorada por:
A = USVt



A  u 1
S é uma matriz diagonal (m  n) cujos elementos (si) são dados pela
raiz quadrada dos autovalores de B=AtA (i, usualmente, ordenados
de forma decrescente); note que B é uma matriz quadrada, simétrica e
positiva semi-definida (seus autovalores são não-negativos);
V é a matriz (n  n) cujas colunas são os autovetores vi normalizados
da matriz B=AtA;
U é a matriz (m  m) cujas k primeiras colunas são dadas por
ui=Avi/i, e os demais são vetores que completam uma base
ortonormal de m.
s 0  0
u 2  uk
u k 1
1
0

 u m  

0

s2  0
  0
0  sk
0 m  k k
 v 1t 
 t 
 v2 
  
0 k n  k   t 
 vk 
 t 
  v k 1 
0 m  k n  k    
 t 
 vn 
Decomposição em Valores
Singulares Reduzida

Devido às porções nulas da matriz S, a SVD
pode ser reduzida por:
A = U1S1V1t



S é uma matriz diagonal (k  k);
V tem tamanho (k  n);
U tem tamanho (m  k).
A  u1 u 2
s1
0
 u k 


0
0
s2

0
 0   v 1t 
 t

 0 v2 
 0   
 t 
 sk   v k 
Download

PPT - Professores da UFF