background image

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) 

background image

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