T1
Techniki Obliczeniowe i Symulacyjne
Wartości i wektory własne.
dr inż. Tomasz Zieliński
2010.03.01
Ćwiczenie 1 (1 pkt)
Wyznacz na papierze wartości własne
λ
k
i wektory własne (pionowe)
v
k
, k
=1,2,3, macierzy:
1
2
0
2
0
2
0
2
1
−
⎡
⎤
⎢
⎥
= −
⎢
⎥
−
⎢
⎥
⎣
⎦
A
(1)
Zbuduj z wektorów
v
k
, k=1,2,3, macierz
V = [v
1
v
2
v
3
]
oraz oblicz macierz
B=V
T
AV
. Dlaczego macierz B
jest diagonalna? Ponieważ
A=VDV
T
.
Zbuduj macierz
A’
na podstawie poniższego równania
1
'
n
T
k
k
k
k
λ
=
=
∑
A
v v
(2)
Porównaj macierze
A
i
A’
.
Ćwiczenie 2 (1 pkt)
Metodą potęgową, na papierze, oblicz tylko największą wartość własną macierzy autokorelacji
sygnału z ćw. 1. Znając ją, oblicz związany z nią wektor własny. Porównaj z poprzednimi wynikami.
Napisz program komputerowy dla metody potęgowej, który znajdzie największą wartość własną
dowolnej macierzy symetrycznej a potem wyznaczy związany z nią wektor własny.
Ćwiczenie 3 (1 pkt)
1A.
Wygeneruj taki sam sygnał jak w programie T16_4.m, umieszczony na stronie:
http://www.kt.agh.edu.pl/pl/edu/wydaw/cps,k.html
Zbuduj macierz autokorelacji tego sygnału tak jak w tym programie (o tym samym wymiarze).
Następnie napisz program obliczający wszystkie wartości własne i wektory własne tej macierzy metodą
Jacobiego (lub dowolną inną, nie bezpośrednią). Porównaj je z tymi, które zwraca funkcja Matlaba
eig()
. Wykorzystaj wynik swoich obliczeń do wyznaczenia widma sygnału metodą Pisarenki, jak w
programie T16_4.m. Macierz autokorelacji ma w tym przypadku wymiary 5×5.
ALBO
1B.
Metodą QR (lub dowolną inną, nie bezpośrednią) oblicz wszystkie wartości własne macierzy
autokorelacji sygnału z ćw. 1. Porównaj je z tymi, które zwraca funkcja Matlaba eig(). Jeśli nie chcesz
pisać programu, zrób to analitycznie.
Ćwiczenie 4 (1 pkt)
Wygeneruj macierz autokorelacji
R
o wymiarach
M
x
M
,
M
=10, na podstawie
N
=1000 próbek szumu
gaussowskiego o wartości średniej równej 0 i odchyleniu standardowym 2. Za pomocą funkcji eig()
Matlaba dokonaj dekompozycji tej macierzy względem wartości własnych, tzn. wyznacz jej wszystkie
wartości własne λ
k
i wektory własne (o orientacji pionowej)
v
k
,
k
=1,2,3,..,
M
. Sprawdź, że wektory
własne są ortogonalne. Narysuj wartości własne na wykresie w funkcji ich numeru. Następnie w pętli od
n
=1 do
M
obliczaj kolejne aproksymacje tej macierzy na podstawie wzoru:
1
n
T
n
k
k
k
k
λ
=
=
∑
R
v v
(3)
oraz wyświetlaj błąd Frobeniusa pomiędzy macierzami
R i
R
n
:
2
,
( , )
( , )
n
n
i j
err
R i j
R i j
=
−
∑
(4)
2
4
Zauważ opadanie wartości własnych. Jeśliby z wektorów poziomych
v
k
T
,
k
=1,2,3,..,
M
zbudować macierz
F
(umieszczając je w wierszach tej macierzy), to można by ją zastosować do ortogonalnej dekompozycji
sygnału, analogicznej do tej, przeprowadzanej w równaniach (4) w ćw. 2. Ale wówczas energia sygnału
będzie skupiona w mniejszej liczbie współczynników dekompozycji, niż w przypadku transformacji
Fouriera. Sprawdź to.
Potem powtórz cała operację nie dla szumu tylko dla sygnału kosinusoidalnego mającego 100
próbek na okres. Ciekawe, nieprawdaż? Następnie dla sygnału zespolonego, który w części rzeczywistej
posiada sygnał kosinusoidalny jak poprzednio. Ponieważ w tym przypadku dekomponujemy sygnał
zespolony, wynik także jest zespolony (sprawdź!!!). W takim przypadku równanie rekonstrukcji (3) ma
postać:
( )
*
1
1
n
n
T
H
n
k
k
k
k
k
k
k
k
λ
λ
=
=
=
=
∑
∑
R
v
v
v v
(5)
Również interesujące.
Ćwiczenie 5 (1 pkt)
Wczytaj do Matlaba obraz cameraman.tif o wymiarach M×M, nazwij go
X
. Dokonaj jego dekompozycji
według wartości osobliwych svd(). Otrzymasz zbiór wartości osobliwych λ
k
oraz par wektorów
osobliwych o orientacji pionowej {
u
k
, v
k
},
k
=1,2,3,..,
M
. Narysuj λ
k
= funkcja(
k
). Następnie w pętli od
n
=1 do
M
obliczaj kolejne aproksymacje obrazu na podstawie wzoru:
1
n
T
n
k
k
k
k
λ
=
=
∑
X
u v
oraz wyświetlaj błąd Frobeniusa pomiędzy obrazami
X i
X
n
.
UWAGA:
Wystarczy zrobić tylko zadanie 3A ALBO 3B aby uzyskać 1 punkt.
Zad. 3A.
Metoda Jacobiego jest opisana w książce:
M. Dryja, J. & M. Jankowscy, „Przegląd metod i algorytmów numerycznych” część 2, str.133.
Zad. 3B.
Metoda QR jest opisana w książce jak wyżej, str. 135, dodatkowo w książkach:
D. Kincaid, W. Cheney, „Analiza numeryczna”, WNT 2006, str. 287.
Z. Fortuna, B. Macukow, J. Wąsowski, „Metody numeryczne”, str. 270.
W. Perry, „Elementary linear algebra”, str. 392.
POMOC:
k
k
k
λ
=
Av
v
,
1
2
3
( ,
,
,...,
)
N
diag
λ λ λ
λ
= ⋅
AV
V
,
1
−
= ⋅ ⋅
A
V D V
,
1
n
T
k
k
k
k
λ
=
=
∑
A
v v
(
)
k
k
λ
−
=
A
I v
0
,
(
)
k
k
λ
−
=
I
A v
0
Warunki (równoważne) istnienia nietrywialnego rozwiązania powyższego równania:
1) macierz
(
)
k
λ
−
A
I
przekształca pewien wektor niezerowy na 0,
2) macierz
(
)
k
λ
−
A
I
jest osobliwa (nie ma macierzy odwrotnej), 3)
(
)
det
0
k
λ
−
=
A
I
.
Poniższa metoda jest to metoda źle uwarunkowana numerycznie:
1) Znajdź wszystkie rozwiązania λ
1
, λ
2
, λ
3
,…, λ
N
równania:
11
12
1
21
22
2
1
1
det
0
k
N
k
N
N
N
NN
k
a
a
a
a
a
a
a
a
a
λ
λ
λ
−
⎡
⎤
⎢
⎥
−
⎢
⎥ =
⎢
⎥
⎢
⎥
−
⎣
⎦
K
K
K
K
K
K
K
2) Potem dla każdego λ
k
znajdź wektor
v
k
spełniający równanie:
11
12
1
21
22
2
1
1
0
k
N
k
N
k
N
N
NN
k
a
a
a
a
a
a
a
a
a
λ
λ
λ
−
⎡
⎤
⎢
⎥
−
⎢
⎥
=
⎢
⎥
⎢
⎥
−
⎣
⎦
v
K
K
K
K
K
K
K
MATLAB:
1) A=?; w=poly(A); lambda=roots(w);
2) for k=1:N, V(:,k)=solve( A-lambda(k)*eye(N), zeros(N,1) ); end % solve z LAB2: Ax=0