POLITECHNIKA WROCŁAWSKA
ZAKŁAD AUTOMATYKIi STEROWANIA w ENERGETYCE
Skład grupy:
1. Anna Knap 170739
Wydział: Elektryczny
Rok studiów: 3
Rok Akademicki : 2010/2011
Grupa:
Termin: Wtorek, 07:30
METODY NUMERYCZNE
Data wykonania ćwiczenia:
08.03.2011
Nr ćwiczenia: 1
Temat:
Metoda Gaussa-Seidla iteracyjnego rozwiązywania układów równań liniowych.
15.03.2011
Mgr inż. Łukasz Staszewski
Cel ćwiczenia: Zapoznanie się z metodą iteracyjnego rozwiązywania układów równań liniowych – metodą Gaussa-Seidla. Rozwiązanie układu równań, z użyciem tej metody.
Przebieg ćwiczenia:
Zastosowanie metody Gaussa-Seidla dla następującego układu równań liniowych:
,
1. Pierwszym zadaniem było uporządkowanie elementów macierzy, aby największe co do modułu elementy znalazły się na przekątnej:
Dla mojej macierzy:
M-plik
A=[-7 0 2 13;3 6 2 0;2 -1 9 1;12 -2 3 5]
b=[15;4;3;-1]
A,b,
x=A(1,:);
A(1,:)=A(4,:);
A(4,:)=x;
x=b(1);
b(1)=b(4);
b(4)=x;
Wynik:
A = 12 -2 3 5
3 6 2 0
2 -1 9 1
-7 0 2 13
b = -1
4
3
15
Dla macierzy dowolnej:
M-plik:
[m,n]=size(A);
A11=A;
b11=b;
n=length(A);
for i=1:n-1
wiersz=i;
for j=(i+1):(n)
if (abs(A(wiersz,i)))<(abs(A(j,i)))
wiersz=j;
end
if (wiersz~=i)
A1=A;
B1=b;
A(i,:)=A1(wiersz,:);
A(wiersz,:)=A1(i,:);
b(i)=B1(wiersz);
b(wiersz)=B1(i);
A,b
Sprawdzenie dla mojej macierzy:
A =
12 -2 3 5
2. Po uporządkowaniu macierzy należało rozwiązać układ równań:
W otrzymanym programie nie dokonywałam żadnych zmian, więc zamieszczam sam wynik:
x = -0.4228
0.7402
0.4137
0.8625
Błąd powstały w wyniku używania metody iteracyjnej:
ans =
1.0e-005 *
0.2803
-0.0135
0.0420
-0.0000
Wnioski:
Metoda Gaussa-Siedla służy do rozwiązywania równań liniowych. Jak widać dość dobrze się sprawdza, wyniki wychodzą poprawne, błąd rzędu 10-5, lecz porównując ją choćby do bezpośredniej metody Gaussa okazuje się, że nie jest jednak aż tak dokładna (przy użyciu procedury Gaussa uzyskiwaliśmy błąd rzędu 10-13, czyli dużo mniejszy). Niestety metoda Gaussa-Siedla jest też zdecydowanie bardziej skomplikowana, więc zabiera więcej pamięci operacyjnej i wolniej liczy. Mogłoby się wydawać, że w takim razie znajduje zastosowanie dla dużych układów równań, lecz niestety tu także się nie sprawdza (metody nadrelaksacyjne zapewniają większą zbieżność) i w tej chwili ma charakter czysto akademicki.
Kony777