Wpisany przez Tomasz Lubiński
poniedziałek, 08 sierpnia 2005 21:28
Metoda eliminacji Gaussa pozwala nam obliczyć układ n równań z n niewiadomymi Ax=b. Przekształcamy w niej macierz współczynników A do macierzy trójkątnej górnej R, z której następnie obliczamy ostateczne rozwiązanie - czyli wektor x. Macierz trójkątną górną R otrzymujemy w następujący sposób: (Przez macierz (A,b) rozumieć będziemy macierz współczynników A z dodaną na końcu kolumną wyrazów wolnych b)
Pełny wybór elementu podstawowego poprzez |ars|=max|aij| i=1,2,...,n j=1,2,...,n Musimy przestawić wiersz r-ty i pierwszy oraz kolumnę s-tą i pierwszą (zmiany kolumn należy zapamiętać gdyż powoduje ona zamianę niewiadowmych!).
Gdy przekształcimy już macierz współczynników A do macierzy trójkątnej górnej R, oraz wektor b do wektora c możemy już wyznaczyć ostateczne rozwiązanie ze wzoru: (i=n,n-1,...,1)
Przykład, niech będzie dana macierz A oraz wektor b, z których tworzymy macierz (A,b)
po przekształceniach:
natępnie wywołujemy procedurę rekurencyjnie dla:
po przekształceniach:
Ponieważ ostatniej macierzy nie możemy już rekurencyjnie wywołać (po odcięciu górnego wiersza i prawej kolumny zostanie wektor), zatem otrzymaliśmy szukaną macierz R i wektor c, z których wyznaczamy ostateczne rozwiązanie
x[3]=0.25 x[2]=0.75 x[1]=-1.25
- W macierzy (A,b) szukamy elementu ar1 różnego od zera i przechodzimy do następnego punktu. Jeżeli natomiast nie istnieje taki element to znaczy, że macierz jest osobliwa i nie możemy rozwiązać tego układu.
- Zamieniamy wiersz r-ty i pierwszy.
- Odejmujemy od i-tego wiersza macierzy li krotność wiersza i-tego i pierwszego. Można to przedstawić za pomocą wzorów: (i=2,3,...,n j=2,3,...,n)
aij = aij - li * a1j,
bi = bi - li * bi,
gdzie li = ai1 / a11. - Następnie wywołujemy tą procedurę od punktu pierwszego rekurncyjnie dla macierzy (A',b') - czyli macierz (A,b) pomniejszoną o pierwszą kolumnę i pierwszy wiersz.
Pełny wybór elementu podstawowego poprzez |ars|=max|aij| i=1,2,...,n j=1,2,...,n Musimy przestawić wiersz r-ty i pierwszy oraz kolumnę s-tą i pierwszą (zmiany kolumn należy zapamiętać gdyż powoduje ona zamianę niewiadowmych!).
Gdy przekształcimy już macierz współczynników A do macierzy trójkątnej górnej R, oraz wektor b do wektora c możemy już wyznaczyć ostateczne rozwiązanie ze wzoru: (i=n,n-1,...,1)
Przykład, niech będzie dana macierz A oraz wektor b, z których tworzymy macierz (A,b)
po przekształceniach:
natępnie wywołujemy procedurę rekurencyjnie dla:
po przekształceniach:
Ponieważ ostatniej macierzy nie możemy już rekurencyjnie wywołać (po odcięciu górnego wiersza i prawej kolumny zostanie wektor), zatem otrzymaliśmy szukaną macierz R i wektor c, z których wyznaczamy ostateczne rozwiązanie
x[3]=0.25 x[2]=0.75 x[1]=-1.25
| Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
| Tomasz Lubiński | Delphi/Pascal | Borland Delphi 5 | ![]() | ![]() |
![]() ![]() ![]() ![]() / 13 |
Poprawiony: poniedziałek, 20 czerwca 2011 22:02




Komentarze
Dzięki.
prostokątną macierzą główną układu przez sprowadzenie go do układu Cramera