Escolar Documentos
Profissional Documentos
Cultura Documentos
Interpretaes intuitivas
Rotao, escala, rotao
No
caso
especial
porm
comum
no
qual M
apenas
uma matriz
quadrada mm com determinante positivo cujas entradas so meros nmeros reais,
ento U, V*, e so matrizes mm tambm de nmeros reais, pode ser vista como
uma matriz de escala, e U e V* podem ser vistas como matrizes de rotao.
Como ilustrado na figura, os valores singulares podem ser interpretados como os semieixos de uma elipse em 2D. Este conceito pode ser generalizado para o Espao
euclidiano n-dimensional,
com
valores
singulares
de
qualquer matriz
quadrada nxn sendo vistos como os semi-eixos de um elipsoide n-dimensional.
Veja abaixo para maiores detalhes.
U e V so bases ortonormais
Como U e V* so unitrias, as colunas de cada uma formam um conjunto de vetores
ortonormais, que podem ser tomados uma base. Pela definio de matriz unitria, o
mesmo vale para suas conjugadas transpostas U* e V. Em suma, U, U*, V,
e V* so bases ortonormais.
Exemplo
Considere-se a matriz 45
Note-se que contm apenas zeros fora da diagonal. Ademais, como as matrizes
e
so unitrias, multiplicando-se por suas respectivas conjugadas transpostas gera
matrizes identidades, como mostrado a seguir. Nesse caso, como e
so reais,
cada uma delas uma matriz ortogonal.
Um valor singular para o qual podemos encontrar dois vetores singulares esquerda (ou
direita) que sejam linearmente independentes chamado degenerado.
Valores singulares no-degenerados tm sempre vetores singulares esquerda e
direita nicos, a no ser pela multiplicao por um fator de fase nico ei (para o caso
real a no ser pelo sinal). Assim, se todos os valores singulares de M so nodegenerados e no-zero, ento sua decomposio em valores singulares nica, a no
ser por multiplicao de uma coluna de U por um fator de fase nico e a multiplicao
simultnea da coluna correspondente de V pelo mesmo fator unitrio de fase. Valores
singulares degenerados tm, por definio, vrios vetores singulares distintos. Ademais,
se u1 e u2 so dois vetores singulares esquerda ambos correspondendo ao valor
singular , ento qualquer combinao linear normalizada de dois vetores tambm um
vetor singular esquerda correspondendo ao valor singular . Raciocnio anlogo
vlido para vetores singulares direita. Por consequncia, se M tem valores singulares
degenerados, ento sua decomposio em valores singulares no nica.
Aplicaes da SVD
Pseudo-inversa
A decomposio em valores singulares pode ser usada para calcular
a pseudoinversa (MoorePenrose pseudoinverse) de uma matriz, a qual til como uma
forma de resolver problemas de mnimos quadrados lineares. De fato, a pseudoinversa
da matriz M com decomposio em valores singulares
sob a
onde a mesma matriz que a no ser pelo fato de conter os maiores valores
singulares (os outros valores singulares so substitudos por zero). Isso conhecido
como o teorema EckartYoung, provado por tais autores em 1936 (apesar de ter-se
descoberto mais tarde que j era conhecido por outros autores; veja Stewart 1993).
Modelos separveis
A SVD pode ser vista como a decomposio de uma matriz em uma soma ponderada e
ordenada de matrizes separveis. O termo 'separvel' refere-se ao fato de uma matriz
poder ser escrita como um produto externo de dois vetores
, ou, em
coordenadas,
como:
Aqui,
e so as i-simas colunas das matrizes SVD correspondentes,
so os
autovalores ordenados, e cada
separvel. A SVD pode ser usada para encontrar a
decomposio de um filtro de processamento de imagens em filtros separados verticais
e horizontais. Note-se que o nmero de 's no-nulos precisamente o posto da matriz.
Matriz ortogonal mais prxima
Pode-se utilizar a SVD de
para determinar a matriz ortogonal mais prxima de . A
proximidade medida pela norma de Frobenius de
. A soluo o produto
. Isso confere com a intuio j que uma matriz ortogonal deveria ter a
decomposio
onde a matriz identidade, de forma que se
ento
o produto
se reduz a colocar 1's no lugar dos valores singulares.
Um
problema
similar,
com
aplicaes
fundamentais
em viso
computacional, robtica e en:shape
analysis,
o Problema
de
Procrustes
Ortogonal (orthogonal Procrustes problem), que consiste em encontrar uma matriz
ortogonal que mapeia o mais prximo possvel de . Formalmente,
onde
a norma de Frobenius.
O Algoritmo de Kabsch
O algoritmo de Kabsch (Kabsch algorithm), tambm conhecido como Wahba's problem,
utiliza a SVD para calcular a rotao tima (no sentido dos mnimos quadrados) que
alinha um conjunto de pontos com um conjunto de pontos correspondentes. Isso tem
aplicaes para a comparao de estruturas moleculares e em problemas relacionados
a modelos 3D em viso computacional e robtica.
Outros exemplos
A SVD tambm aplicada extensivamente ao estudo de problemas inversos lineares e
til na anlise de mtodos de regularizao tais como os de regularizao de
Tikhonov(Tikhonov regularization). Tambm amplamente utilizada em estatstica, onde
se relaciona com a anlise de componentes principais e en:Correspondence analysis,
de aplicao direta em processamento de sinais e reconhecimento de padres. Tambm
usada em anlise modal, onde os mode shapes no escalados podem ser
determinados pelos vetores singulares. Ainda outro uso no indexamento semntico
latente no processamento de linguagem natural textual.
A SVD tambm tem papel crucial no campo da informao quntica (quantum
information), numa forma comumente chamada de decomposio de Schmidt. Atravs
dela, estados de dois sistemas qunticos so decompostos naturalmente, provendo
condio necessria e suficiente para eles serem entangled : se o posto de maior
que um.
Uma aplicao da SVD para matrizes grandes na previso numrica do tempo, onde
os vetores singulares gerados podem representar sistemas meteorolgicos inteiros.
Outra aplicao a obteno da equao do raio de luz que gerou um ponto em uma
projeo perspectiva de uma cena (como uma foto) atravs da pseudoinversa (Moore
Penrose pseudoinverse).
Relao com a decomposio em autovalores (espectral)
A decomposio em valores singulares bastante geral, j que pode ser aplicada a
qualquer matriz m n , ao passo que a decomposio em autovalores pode apenas ser
aplicada para algumas classes de matrizes quadradas.
Dada uma SVD de M, como acima, valem as seguintes condies:
No caso especial em que M uma matriz normal, que por definio deve ser quadrada,
o teorema espectral diz que ela pode ser unitariamente diagonalizada usando-se uma
base de autovalores, de forma que ela pode ser escrita
para uma matriz
unitria U e uma matriz diagonal D. Quando M tambm positiva semi-definida, a
decomposio
tambm uma SVD.
No entanto, as decomposies em autovalores e em valores singulares diferem para
todas outras matrizes M: a decomposio espectral
onde U no
necessariamente unitria e D no necessariamente positiva semi-definida, enquanto a
SVD
onde diagonal postiva semi-definida, e U e V so matrizes
unitrias que no so necessariamente relacionadas exceto atravs de M.
Condicionamento
Decomposicao em Valores Singulares
A decomposicao em valores singulares e o associado conceito de condicionamento so
ferramentas de suma importncia em mtodos nmericos e analise nmerica. Uma
matriz A do tipo m por n (real ou complexa) pode sempre ser escrita como:
A = U S V'
aonde U e V sao ortogonais (unitarias) e S diagonal. As colunas da matriz m por
m U sao os auto-vetores da matriz A A' enquanto que as colunas da matriz n por n V sao
os auto-vetores da matriz A A'. Alem disso os chamados valores singulares que sao os
elementos da diagonal de S sao as raizes quadradas dos auto-valores nao nulos de A A'
e de A' A
Em matlab para calcularmos a decomposicao em valores singulares (SVD) de uma
matriz A usamos o comando
>> [U,S,V] = svd(A)
Exemplo:
>> A = [ 2 0; 0 -3; 0 0]
A =
2
-3
>> [ U, S, V] = svd(A)
U =
-1
S =
V =
A idia geomtrica fundamental que permeia a SVD obtermos duas bases ortonornais
nas quais a transformao linear possa ser escrita como uma aplicao que manda
elementos de uma base em mltiplos de elementos da outra.
O comando eigshow permite visualizar no caso de matrizes 2 por 2 as duas bases
mencionadas acima em diversos exemplos.
A anlise da soluo de sistemas lineares pode ser feita com base na decomposio em
valores singulares. De fato, uma vez que possuimos a decomposio em valores
singulares de A = U S V'. Suponha quem=n e que todos os valores singulares
de A sejam
no
nulos.
Pra
resolvermos
o
sistema
Ax=y
basta fazermos:
x = V S-1 U' y
aonde, como S diagonal, S-1 bastante simples de ser calculada. invertendo os
elementos da diagonal de S. Por outro lado se alguns dos valores singulares estiverem
prximos de zero, isto significa que o nosso sistema de equaes potencialmente
instvel e que pequenas modificaes no lado direito y podem levar a grandes
modificaes na soluo s.
Isto leva a noo de condicionamento que a relao entre o maior e o menor dos
valores singulares.
Condicionamento
Para calcularmos o condicionamento de uma matriz com matlab basta o comando
``cond."
Exemplo:
% Criamos a matriz de Hilbert A = (( 1 / (i + j -1) )) , i,j = 1:5
>> A = hilb(5)
A =
1.0000
0.5000
0.3333
0.2500
0.2000
0.5000
0.3333
0.2500
0.2000
0.1667
0.3333
0.2500
0.2000
0.1667
0.1429
0.2500
0.2000
0.1667
0.1429
0.1250
0.2000
0.1667
0.1429
0.1250
0.1111
>> cond(A)
ans =
4.7661e+05
O seguinte exemplo mostra como o mal condicionamento de uma matriz leva a serios
problemas. Consideraremos uma matriz de Hilbert de tamanho 10, definida por
e resolveremos os sistemas
com
>> x2 = B\(ones(10,1)+0.1*rand(10,1));
>> x1 = B\(ones(10,1));
>> norm(x1-x2)/norm(x1)
ans =
1.4627e+04
>> A = hilb(10);
>> y1 = ones(10,1);
>> y2 = (ones(10,1) + 0.1*rand(10,1));
>> x1 = A\y1;
>> x2 = A\y2;
>> % erro relativo
>> rx = norm(x1-x2)/norm(x1)
rx =
2.5118e+04
ry =
0.0580
>> rx/ry
ans =
4.3322e+05
>> cond(A)
ans =
1.6025e+13
Note que uma pequena variao no lado direito levou a uma tremenda variao na
soluo. Isto era de se espera visto que o o nmero de condicionamento desta matriz
imenso.
1.2 ALGORITMO
close all
clear
clc
S='S'; s='s';
resp = 's';
while resp == 's' || resp == 'S'
clc;
Entrada = input ('Digite o caminho para o arquivo (entre aspas simples)\n');
img = imread(Entrada);
if ndims(img)>=3
img = rgb2gray(img);
end
figure(1)
imshow(img)
Sk = S(1:k,1:k);
Uk = U(:,1:k);
Vk = V(:,1:k);
%
% Retira valores singulares para comprimir a imagem
%
Pk = Sk*Vk';
tam_Pk = size(Pk);
tam_Pk = tam_Pk(1)*tam_Pk(2);
tam_Uk = size(Uk);
tam_Uk = tam_Uk(1)*tam_Uk(2);
tam_inicial = size(img);
tam_inicial = tam_inicial(1)*tam_inicial(2); % tamanho da imagem inicial em P/B
porcentagem = tam_final*100/tam_inicial;
1.3 RESULTADO
Abaixo o resultado:
Compresso de imagem utilizado o MATLAB.
Inicialmente temos uma imagem, que quando em preto e branco representada por
uma matriz.
k=125 / tamanho
63.1%
k=175 / tamanho
88.3%
1.4 COMENTRIO/CONCLUSO
A imagem com k=75 no ruim e armazenada em 38% do espao ocupado pela
imagem original. A partir de k=200 valores singulares, a tcnica no vale a pena, porque
armazenar as matrizes Pk e Uk gasta mais espao que armazenar imagem original.
Figura 1
2.1 TEORIA
RLC srie com fonte da alimentao do tipo Thvenin
Neste circuito, os trs componentes esto todos em srie com a fonte de tenso.
Notaes do circuito RLC srie:
v - a tenso da fonte de alimentao (medida
em volts V)
i - a corrente do circuito (medida
em ampres A)
R - a resistncia do resistor (medida
em ohms = V/A);
L - a indutncia do indutor (medida
em henrys = H = Wb/A = Vs/A)
C - a capacitncia do capacitor (medida
em farads = F = C/V = As/V)
Dados os parmetros v, R, L, e C, a soluo para a corrente (I) utilizando a Lei da
Tenso de Kirchoff :
com as condies iniciais para a corrente do indutor, I L(0), e a tenso do capacitor V C(0).
De modo a resolver a equao propriamente, as condies iniciais necessrias so
I(0) e I'(0).
O primeiro j foi feito, visto que a corrente na total igual corrente no indutor, portanto
Agora tem-se uma equao diferencial de segunda ordem homognea com duas
condies iniciais. Substitundo os parmetros e 0, tem-se
so
dois nmeros
). As solues so:
onde
As solues so:
], pode-se simplificar a
R
=
2L
=5/(2*3)= 0,83
1
=0
LC
0 = 1/3*0,01 = 33,33
0,83<33,33
: circuito subamortecido
c = 33,33-0,83 rad/s
c = 32,64 rad/s
Aplicando a condio inicial:
0 = k*cos = 90o
Em t = 0+ VL = 127V
127/3 = -k*cos - 32,64*k*sen k = -1,3
2.3 RESULTADO
2.4 COMENTRIO/CONCLUSO
Foram estimados valores para o resistor, indutor e o capacitor para que fizesse a
simulao no simulink do MATLAB e com esses valores encontrar a corrente.
Com posse destas informaes foram traados as curvas, sendo o valor medido em
amarelo, o valor do polinmio de grau 3 em azul e o valor do polinmio de grau 5 em
verde. O polinmio de grau 5 foi o que melhor definiu a curva caracterstica, observando
que quanto maior o grau do polinmio melhor a sua aproximao com o comportamento
real.
f
A interpolao de Hermite tem como objetivo representar uma funo
por um
f
polinmio que seja interpolador de
e que a sua derivada seja interpolador da
f
derivada de
nesses mesmos pontos. A partir desta afirmao temos a seguinte
relao:
f ( xi ) H ( x i)
f ( x i) H ( x i)
sendo
i 0,1,..., n
Em sendo o polinmio de Hermite o nico de grau igual a 2n+1 que verifica as condicoes
f
da equao acima de
nos pontos x0,x1...xn.
Temos por notao o polinomio interpolador de Hermite de grau 2n+1 dado por:
2 n 1 ( x ) f ( x 0 )
2 n 1
i 1
i 1
f [ x 0 , x 1 ,...x i ] ( x xj)
j 0
ou
H
2 n 1
( x) ( f ( x 0 ) f [ x 0 , x 0 ] * ( x x 0 )
f [ x 0 , x 0 , x1 ] * ( x x 0 ) 2 f [ x 0 , x 0 , x1 , x1 ] *
* ( x x 0 ) 2 * ( x x1 )
f [ x 0 , x 0 , x1 , x1 , x n , x n ] * ( x x 0 ) 2 *
* ( x x1 ) 2 * * ( x x n ))
Extrapolao Polinomial: Neste mtodo uma curva polinomial pode ser criada atravs de
todos os dados do intervalo ou dos dados bem prximos do final. Desta forma, a curva
resultante pode ser estendida alm do intervalo de dados conhecidos. A extrapolao
polinomial tipicamente feita por meio da interpolao de Lagrange, ou usando o
mtodo de Newton ou diferenas finitas para criar uma srie de Newton que se adeque
aos dados. O polinmio resultante pode ser usado para a extrapolao. Polinmios com
ordens elevadas devem ser usados com cuidado.
Extrapolao Cnica: Neste caso uma seo cnica pode ser criada usando cinco
pontos prximos ao final do intervalo conhecido.
onde uint uma parametrizao dos pontos Dint no tempo dada por:
Argumento
Dias teis
Curva de
Juros
Tipo
Descrio
integer
range
Onde:
Parmetro uint
20
20,65%
220
20,70%
300
20,40%
140
19,15%
40
19,75%
80
20,71%
350
20,60%
180
19,40%
60
20,00%
100
Curva de juros interpolada para vrios pontos. Para a construo deste grfico foram calculadas as
taxas interpoladas para todos os dias teis at o ltimo ponto (ou vencimento) informado. No h
extrapolaes neste grfico. Nota-se uma reta at o primeiro vencimento, indicando que no
interpolaes neste perodo.
20
19,15%
40
19,40%
60
19,75%
80
20,00%
100
20,40%
140
20,60%
180
20,58%
220
20,40%
300
20,30%
350
3.2 ALGORITMO
Splines Polinomiais
% Programa para aproximao polinomial de pontos no plano
clear all;
close all;
ptos = [1 1;2 4;4 2;5 2;6 4;7 4;8 5];
N = length(ptos(:,1));
x = ptos(:,1);
y = ptos(:,2);
r = 6; % Grau do polinmio
% Clculo da matriz Z e do vetor q
Z = zeros(r+1,r+1);
q = zeros(r+1,1);
for j=0:r,
for k=0:r,
for i=1:N,
Z(j+1,k+1) = Z(j+1,k+1)+power(x(i),j+k);
end
end
for i=1:N,
q(j+1) = q(j+1)+y(i)*power(x(i),j);
end
end
% Obteno dos coeficientes do polinmio
a = inv(Z)*q;
% Produo dos resultados grficos
t = [0:0.1:10];
ind = 1;
f = zeros(length(t),1);
for i=1:length(t),
for j=0:r,
f(i,1) = f(i,1)+a(j+1)*power(t(i),j);
end
end
figure(1);
3.3 RESULTADO
3.4 COMENTRIO/CONCLUSO
A interpolao de Hermite muito mais simples do que interpolao por splines cbicos,
pois esta envolve a resoluo de um sistema linear. O Splines cbicos a desvantagens
deste mtodo, que ele apresenta algumas instabilidades, principalmente em curvas
com pontos muito prximos uns dos outros.
p ( x i ) = fi
para i = 0, ..., n.
...
fn,
Unicidade:
Supondo que existem dois polinmios interpoladores p e q de grau < n, ento o
polinmio p(x) - q(x) tem grau < n e n+1 razes, j que, sendo polinmios interpoladores,
verificam :
p ( x i ) = fi = q ( x i )
para i
=
0,
...,
n.
Consequentemente, como tem n+1 razes e grau < n, o polinmio p(x)-q(x) ter que ser
nulo, logo p=q .
Existncia:
Podemos mostrar a existncia, construindo os.
PIB
4.3 RESULTADO
4.4 COMENTRIO/CONCLUSO
REFERNCIAS