Techniki Obliczeniowe i Symulacyjne
2 Układy równań liniowych, macierz odwrotna, aproksymacja 2011.02.28
prof. dr hab. inż. Tomasz Zieliński
Ćwiczenie 1 (0.5 – max 2 pkt)
Wyznacz analitycznie rozwiązanie układu równań (na papierze):
[3 4 1
2 3 0][ x 1 x]=[ 10 ] , Ax= b
2
3 2 1 x
−2
3
(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][ x 1 x]=[−10] , Ax= b 2
(3)
−1
eps
eps x
1
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.
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 ↔ fk= kf 0= k( f pr/ N)):
,
-1
X = Fx
x = F X,
F( k, n) = exp ( − j 2π kn / N ) / N , k, n = 0,1,2,3,..., N −1 (4) Ponieważ macierz F jest ortonormalna (jej wiersze są ortonormalne), to macierz do niej odwrotna jest macierzą sprzężoną, transponowaną:
1
F
( *F) T
− =
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.