2
Techniki Obliczeniowe i Symulacyjne
Układy równań liniowych, macierz odwrotna, aproksymacja
prof. dr hab. inż. Tomasz Zieliński
2011.02.28
Ćwiczenie 1 (0.5 – max 2 pkt)
Wyznacz analitycznie rozwiązanie układu równań (na papierze):
[
3 4 1
2 3 0
3 2 1
]
[
x
1
x
2
x
3
]
=
[
1
0
−
2
]
,
Ax=b
(1)
jedną z metod: Cramera (0.5 pkt), eliminacji Gaussa-Jordana (1 pkt), eliminacji Gaussa (1 pkt),
dekompozycji LU (2 pkt) oraz napisz program w Matlabie, który rozwiązuje tą metodą dowolne
równanie z N niewiadomymi, a nie z trzema. Zamień miejscami kolumny 2 i 3 oraz rozwiąż
zmodyfikowane równanie za pomocą twojego programu. Jeśli wystąpił problem, to jak go można
rozwiązać?
Ćwiczenie 2 (1 pkt)
Napisz program w Matlabie rozwiązujący równanie (1) jedną z metod iteracyjnych: Jacobiego lub
Gaussa-Seidela. Sprawdź czy metoda zbiega się do poprawnego rozwiązania (narysuj jak się
zmieniało rozwiązanie w kolejnych iteracjach). Czy procedura iteracyjna jest zawsze zbieżna?
Ćwiczenie 3 (1 pkt)
Wyznacz rozwiązanie równania (1)
-1
x = A b
za pomocą funkcji Matlaba:
xm1 = inv(A)*b; xm2 = A\b (2)
Porównaj otrzymane wyniki xm1 i xm2 ze sobą oraz z rozwiązaniami otrzymanymi w ćw. 1 i 2.
Potem wygeneruj macierz A i werktor b za pomocą funkcji randn():
N=100; A = randn(N,N); r=randn(N,1)
oraz porównaj ze sobą rozwiązania xm1 i xm2 (2), i czas trwania obliczeń w obu przypadkach (stosując
funkcje tic i toc.)
Na koniec zastosuj programy z ćw. 1 i 2 oraz program (2) do źle uwarunkowanego układu równań
[
eps
eps
−
1
eps −eps eps
−
1
eps
eps
]
[
x
1
x
2
x
3
]
=
[
−
1
0
1
]
, Ax=b
(3)
Ćwiczenie 4 (1 pkt)
Oblicz macierz autokorelacji
R
(symetryczna względem głównej przekątnej!!!) dla tego samego sygnału
i w taki sam sposób jak w programie T19_4.m, umieszczonym na stronie:
http://www.kt.agh.edu.pl/pl/edu/wydaw/cps,k.html
Mamy rozwiązać równanie macierzowe
Ra = -r
gdzie
a
wektorem współczynników cyfrowego filtra
rekursywnego, wykorzystywanego w algorytmach kompresji mowy do modelowania charakterystyki
częstotliwościowej traktu głosowego (formanty). Wyznacz
a
tak jak w programie T19_4:
1
−
a = -R r
oraz szybką metodą Durbina-Levinsona (Tabela 20-1, str. 581), wykorzystywaną w telefonach
komórkowych, w której unika się odwracania macierzy o wymiarach 10
×
10.
Dla dociekliwych
Czy zawsze trzeba wyznaczać macierz odwrotną? Prosta i odwrotna transformacja Fouriera,
analiza i synteza sygnału, są opisane parą następujących równań (n – indeks czasu, k – indeks
częstotliwości, k
↔
f
k
=kf
0
=k(f
pr
/N)):
(
)
,
,
( , ) exp
2
/
/
,
,
0,1,2,3,...,
1
F k n
j
kn N
N
k n
N
π
=
−
=
−
-1
X = Fx
x = F X
(4)
Ponieważ macierz
F
jest ortonormalna (jej wiersze są ortonormalne), to macierz do niej odwrotna jest
macierzą sprzężoną, transponowaną:
( )
1
* T
−
=
F
F
czyli nie trzeba jej czasochłonnie obliczać. Wektor
X
reprezentuje sobą współczynniki rozwinięcia
(aproksymacji, przybliżenia) sygnału
x
względem sygnałów bazowych (wzorcowych), których
sprzężenia zespolone są umieszczone w wierszach macierzy
F
. Patrz wykład z CPS.