Linguagem Orientada a Matrizes COB 727

32
Linguagem Orientada a Linguagem Orientada a Matrizes Matrizes COB 727 COB 727 Maurício Cagy

description

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. - PowerPoint PPT Presentation

Transcript of Linguagem Orientada a Matrizes COB 727

Page 1: Linguagem Orientada a Matrizes COB 727

Linguagem Orientada a Linguagem Orientada a MatrizesMatrizesCOB 727COB 727

Maurício Cagy

Page 2: Linguagem Orientada a Matrizes COB 727

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.

Page 3: Linguagem Orientada a Matrizes COB 727

Linguagens Orientadas a Linguagens Orientadas a MatrizesMatrizes

SciLab;Octave;FreeMat;JMathLib;Matlab.

Page 4: Linguagem Orientada a Matrizes COB 727

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

Page 5: Linguagem Orientada a Matrizes COB 727

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

Page 6: Linguagem Orientada a Matrizes COB 727

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

Page 7: Linguagem Orientada a Matrizes COB 727

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

Page 8: Linguagem Orientada a Matrizes COB 727

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

Page 9: Linguagem Orientada a Matrizes COB 727

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

Page 10: Linguagem Orientada a Matrizes COB 727

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

Page 11: Linguagem Orientada a Matrizes COB 727

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

Page 12: Linguagem Orientada a Matrizes COB 727

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

Page 13: Linguagem Orientada a Matrizes COB 727

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

Page 14: Linguagem Orientada a Matrizes COB 727

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

Page 15: Linguagem Orientada a Matrizes COB 727

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

Page 16: Linguagem Orientada a Matrizes COB 727

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

Page 17: Linguagem Orientada a Matrizes COB 727

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

'

'

'

Page 18: Linguagem Orientada a Matrizes COB 727

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

Page 19: Linguagem Orientada a Matrizes COB 727

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

Page 20: Linguagem Orientada a Matrizes COB 727

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 .

Page 21: Linguagem Orientada a Matrizes COB 727

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

Page 22: Linguagem Orientada a Matrizes COB 727

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

Page 23: Linguagem Orientada a Matrizes COB 727

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

Page 24: Linguagem Orientada a Matrizes COB 727

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

Page 25: Linguagem Orientada a Matrizes COB 727

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.

Page 26: Linguagem Orientada a Matrizes COB 727

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

Page 27: Linguagem Orientada a Matrizes COB 727

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(

Page 28: Linguagem Orientada a Matrizes COB 727

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

Page 29: Linguagem Orientada a Matrizes COB 727

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

Page 30: Linguagem Orientada a Matrizes COB 727

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

Page 31: Linguagem Orientada a Matrizes COB 727

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

Page 32: Linguagem Orientada a Matrizes COB 727

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