Linguagem Orientada a Matrizes COB 727
-
Upload
lane-lowery -
Category
Documents
-
view
45 -
download
0
description
Transcript of Linguagem Orientada a Matrizes COB 727
Linguagem Orientada a Linguagem Orientada a MatrizesMatrizesCOB 727COB 727
Maurício Cagy
BibliografiaBibliografiaHahn, 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 Linguagens Orientadas a MatrizesMatrizes
SciLab;Octave;FreeMat;JMathLib;Matlab.
ÁÁlgebra de Escalareslgebra de EscalaresPuramente Reais ou Complexos...Propriedades:
Soma / Diferençaa+0 = aa+(b+c) = (a+b)+ca+b = b+aa-b = a+(-b)
Produto / Divisãoa0 = 0a1 = aa(b+c) = ab+aca(bc) = (ab)c ab = baa/b = 1/b a
ÁÁlgebra Vetoriallgebra 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çau+v = (xu+xv, yu+yv, zu+zv)u+0 = uu+(v+w) = (u+v)+wu+v = v+u-v = (-xv, -yv, -zv);u-v = u+(-v)
Produto Escalaruv = xuxv + yuyv + zuzv u0 = 0uu = |u|2 (quadrado do módulo)
uv = vu
Produto por Escalarau = (axu, ayu, azu);
Produto Vetorialu v Definido apenas em 3D
ÁÁlgebra Linearlgebra LinearVetores:
– Agrupamento de valores quaisquer (reais ou complexas);Propriedades:
– u=[u1, u2, u3]; v=[v1, v2, v3] s= (vetor-coluna)– w=[w1, w2, w3];– 0=(0, 0, 0) (vetores-linha).
Soma / Diferençau+v = [u1+v1, u2+v2, u3+v3]u+0 = uu+(v+w) = (u+v)+wu+v = v+u-v = [-v1, -v2, -v3];u-v = u+(-v)ut = vetor-coluna (transposição)
Produtouv = !!us = u1s1 + u2s2 + u3s3 0s = 0uut = ||u||2 (quadrado da norma)
(u+v)s = us + vs
Produto por Escalarau = (au1, au2, au3);
3
2
1
s
s
s
ÁÁlgebra Linearlgebra LinearExemplo:
– Cada cesta de maçãs tem 8 maçãs; cada saco delaranja tem 10 laranjas; cada caixa de mangastem 6 mangas...
– Fulano tem 3 cestas de maçãs, 1 saco de laranjae 2 caixas de mangas: u = [3, 1, 2]; Quantas frutas ele tem?
– Beltrano tem 4 cestas de maçãs, 2 saco de laranjae 1 caixas de mangas: v = [4, 2, 1]; Quantas frutas ele tem?
– Agrupando as 2 operações...
6
10
8
f
46121024
6
10
8
213
fu
5862032
6
10
8
124
fv
58
46
6
10
8
124
213
ÁÁlgebra Linearlgebra LinearExemplo das frutas e recipientes...
Matriz Vetor-coluna Vetor-coluna 23 31 21
Requisito de dimensões para o Produto Matricial:– [m p] [p n] = [m n]
58
46
6
10
8
124
213
ÁÁlgebra Linearlgebra LinearSe não conhecêssemos o vetor f...
Isto se traduz num sistema de equações:
Sistema INDETERMINADO
58
46
124
213
3
2
1
f
f
f
58124
46213
321
321
fff
fff
ÁÁlgebra Linearlgebra LinearSe 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...
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-
1b– f = A-1 b, caso A seja inversível.
46
58
46
032
124
213
3
2
1
f
f
f
Produto Interno Produto Interno Produto Externo Produto Externo– u = [u1, u2, ... , un];
– s =
– Produto Interno: us = u1s1 + u2s2 + ... + unsn (n=m!)– Produto Externo:
ms
ss
2
1
nmmm
n
n
ususus
ususus
ususus
21
22212
12111
us
Exemplo: Transformada de Fourier Exemplo: Transformada de Fourier como Produto Matricial...como Produto Matricial...
– Transformada Discreta de Fourier (DFT):
, para k = 0, 1, ..., N-1
onde:
nk xnkx Nj /2exp
1
0
)/2(][N
n
nNjkk enxa
1
10
N
k
]1[
]1[]0[
Nx
xx
nx 110 Nn
Os Coeficientes de um Polinômio Os Coeficientes de um Polinômio como um Vetor...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 PropriedadesOutras PropriedadesSejam 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 LinearesOperadores LinearesDada 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:
)()()(
cossen
sencos
'
'
21 eeR ff
y
x
y
x
sencoscossen)sen('
sensencoscos)cos('
sen,cos
RRRy
RRRx
RyRx
Operadores LinearesOperadores LinearesOperador Rotação em 3D:
Rotação em torno de um eixo u:
cossen0
sencos0
001
)(xR
cos0sen
010
sen0cos
)(yR
100
0cossen
0sencos
)(
zR
coscoscossensen
sensencoscossensensensencoscossencos
cossencossensencossensensencoscoscos
)()()( xyz RRR
Rotação + TranslaçãoRotação + TranslaçãoA Translação não é um Operador Linear!
• ft(x1+x2) = x1+x2+t ft(x1)+ ft(x2) = x1+t+x2+tAssociação usual de rotação e translação:
• y = R x + t
• Álgebra homogênea:• y = RT x
110001
'
'
'
333231
232221
131211
z
y
x
trrr
trrr
trrr
z
y
x
z
y
x
z
y
x
t
t
t
z
y
x
rrr
rrr
rrr
z
y
x
333231
232221
131211
'
'
'
Mudança de BaseMudança de BaseDados 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
– 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-1té o processo de mudança de base a partir da base canônica
para a base .
aUt
c
b
a
wvu
wvu
wvu
t
t
t
zzz
yyy
xxx
z
y
x
Mudança de BaseMudança de Base Ilustração no espaço bidimensional (bases
ortonormais):
t
tt1
v
uUUvuU
y
x
y
x
cossen
sencos
'
'
sencoscossen)sen('
sensencoscos)cos('
sen,cos
RRRy
RRRx
RyRx
Autovalores e AutovetoresAutovalores e AutovetoresSeja A uma matriz quadrada, diz-se que ela possui
um ponto fixo x se:Ax = x
De maneira mais geral, define-se um autovalor de A, , como um escalar tal que:
Ax = 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 AutovetoresAutovalores e AutovetoresSeja A uma matriz n n; se Ax = x, então:
– como x é não-nulo, então det (I - A) = 0;– det (I - A) = 0 é chamada equação característica de A.
Exemplo:
0A)xI(0xAxIxIxA λλλ
4
1
043623
06)2)(1(023
21
23
21
23
21
2
1
22
AIA
Autovalores e AutovetoresAutovalores e Autovetores
Para 1 = -1:
Para 2 = 4
1211
12
11
0
0
33
22
33
22
23
21
xx
x
x
2221
22
21
23
0
0
23
23
23
23
23
21
xx
x
x
Autovalores e AutovetoresAutovalores e AutovetoresPropriedades: 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.
(A)
(A)
det
tr
ni
ni
Decomposição em AutovaloresDecomposição em AutovaloresConsiderando a matriz quadrada
inversível A como um Operador Linear: y = Ax; se montarmos uma matriz P cujas colunas
são autovetores de A: z = P-1x representa a mudança de base de x da
base canônica para o autoespaço de A, de modo que:
Az = Dz onde D é uma matriz diagonal com os
autovalores ordenados de A...
Decomposição em AutovaloresDecomposição em AutovaloresAssim: w = Dz = DP-1x 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 = Pw = PDP-1x.Ou seja:
A = PDP-1
Que é a chamada Decomposição em Autovalores (EVD) de A.
Diagonalização OrtogonalDiagonalização OrtogonalCaso a matriz A seja simétrica:
A = PDPt
onde P é uma matriz ortonormal formada pelos autovetores de A, de modo que P-1=Pt.
Diz-se que P diagonaliza ortogonalmente A.
n
1
n1
v
v
vvA
n
00
00
001
Variância e CovariânciaVariância e CovariânciaVariância e CovariânciaVariância e CovariânciaPara um sinal x[n] ergódico:
onde E{...} refere-se à esperança matemática.
Analogamente, a covariância entre 2 sinais x[n] e y[n] 0 é definida por:
222
222
2
]0[][
][][
][][]0[])[var(
xxxx
xx
xx
rnxE
nxEnxE
nxEnxEcnx
yxxyyx
xy
rnynxE
nyEnynxEnxEcnynx
]0[][][
][][][][]0[])[],[cov(
Matriz de CovariânciaMatriz de CovariânciaMatriz de CovariânciaMatriz de CovariânciaSejam k sinais ergódicos x1[n] a xk[n]:
Se os sinais são todos reais, C é uma matriz simétrica, que pode ser dada por:
onde X é uma matriz (N k) cujas colunas são os sinais subtraídos de suas respectivas médias.
1
N
XXC
t
kk
kk
kk
xNxxNxxNx
xxxxxx
xxxxxx
]1[]1[]1[
]1[]1[]1[
]0[]0[]0[
2211
2211
2211
X
]0[]0[]0[
]0[]0[]0[
]0[]0[]0[
21
22212
12111
kkkk
k
k
xxxxxx
xxxxxx
xxxxxx
ccc
ccc
ccc
C
Análise de Componentes Principais (PCA)Análise de Componentes Principais (PCA)Análise de Componentes Principais (PCA)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:
Problema: achar A e S...
tt SAX
Análise de Componentes Principais (PCA)Análise de Componentes Principais (PCA)Análise de Componentes Principais (PCA)Análise de Componentes Principais (PCA)Multiplicando-se ambos os lados por X:
– mas os sinais si[n] são ortogonais por pressuposição, de modo que StS é uma matriz diagonal. Dividindo-se ambos os lados por N1, tem-se que:
o que evidencia que A é a matriz que diagonaliza ortogonalmente C:
• decomposição por auto-valores e auto-vetores de C.
tttt ASSAXSAXX
tADAC
Decomposição em Valores Singulares (SVD)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 = USVt
S é uma matriz diagonal (m n) cujos elementos (si) são dados pela raiz quadrada dos autovalores de B=AtA (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=AtA;
U é a matriz (m m) cujas k primeiras colunas são dadas por ui=Avi/i, e os demais são vetores que completam uma base ortonormal de m.
tn
t1k
tk
t2
t1
m1kk21
v
v
v
v
v
00
0uuuuuA
knkmkkm
knk
ks
s
s
00
0
00
00
2
1
Decomposição em Valores Decomposição em Valores Singulares ReduzidaSingulares Reduzida
Devido às porções nulas da matriz S, a SVD pode ser reduzida por:
A = U1S1V1t
S é uma matriz diagonal (k k);V tem tamanho (k n);U tem tamanho (m k).
tk
t2
t1
k21
v
v
v
uuuA
ks
s
s
00
0
00
00
2
1