POLITECHNIKA WROCŁAWSKA ZAKŁAD AUTOMATYKI |
Wydział Elektryczny Rok studiów: Rok Akademicki : Termin: |
|
---|---|---|
Metody Numeryczne | ||
Data wykonania ćwiczenia: | Temat: Metoda Gaussa-Seidla iteracyjnego rozwiązywania układów równań liniowych |
|
Data oddania sprawozdania: |
||
Prowadzący: |
Cel i zakres ćwiczenia
Celem ćwiczenia było wyliczenie danego układu równań liniowych za pomocą metody Gaussa-Seidla i porównanie użycia tej metody z metoda eliminacji Gaussa. Do tego celu wykorzystano środowisko programowe MatLab.
Przebieg ćwiczenia
Ćwiczenie polegało na obliczeniu zmiennych czterech równań liniowych przy użyciu metody Gaussa-Seidla (zad 1.16). Do tego celu należało utworzyć macierz równania (A) i macierz wektora prawej strony (b). Następnie zgodnie z założeniem teoretycznym należało odpowiednio uporządkować macierz równania (A); największe co do modułu elementy powinny znaleźć się na przekątnej. Po przyjęciu warunków początkowych, powtarzamy proces iteracyjny (odpowiedni algorytm), aż do uzyskania wyników końcowych. Czas wykonywania poszczególnych działań uzyskano za pomocą polecenia tic toc.
A = 3 2 10 1 -3 15 1 -1 -15 -1 -5 8 4 -2 3 12 |
b = 10 2 -3 1 |
---|
Metoda | Gaussa-Seidla | Gaussa |
---|---|---|
Wynik | -0.2179 0.0107 1.0743 -0.1108 |
-0.2179 0.0107 1.0743 -0.1108 |
Błędy obliczeniowe | 1.0e-006 * 0.1270 -0.0374 -0.0135 0 |
1.0e-014 * 0 -0.0666 0.2220 -0.2220 |
Czas obliczenia [s] | 0.0147 | 0.0016 |
Porządkowanie współczynników macierzy A:
Kod programu | Uzyskany wynik |
---|---|
x=A(1,:); A(1,:)=A(3,:); A(3,:)=x; x=b(1); b(1)=b(3); b(3)=x; |
A = -15 -1 -5 8 -3 15 1 -1 3 2 10 1 4 -2 3 12 b = -3 2 10 1 |
Liczba iteracji programu:
Kod programu | Uzyskany wynik |
---|---|
disp(['Liczba iteracji: ' num2str(it)]); | Liczba iteracji: 8 |
Wnioski