Rozwiązywanie układów równań metodą eliminacji Gaussa

Stronę tą wyświetlono już: 446 razy

O tej metodzie już pisałem w dziale Matematyka → Macierze → Rozwiązywanie układów równań metodą eliminacji Gaussa, z tego też względu pominę omawianie tej metody po raz drugi i przejdę do rozwiązywania konkretnych przykładów.

Zanim jednak, najpierw muszę wspomnieć, że metoda ta polega na tej samej zasadzie co metoda przeciwnych współczynników.

Zadanie 1

Rozwiązać układ równań z dwiema niewiadomymi metodą eliminacji Gaussa:

Równanie [1] [1]

Zapis wyrażenia w formacie TeX-a:

\begin{cases}2\cdot x-3\cdot y=13 \\ 3\cdot x-2\cdot y=12 \end{cases}

Rozwiązanie:

Tworzę macierz z współczynników i wyrazów wolnych układu równań [1]:

Równanie [2] [2]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 2 && -3 && 13 \\ 3 && -2 && 12\end{bmatrix}

Etap I Tworzę macierz i redukuję wiersz a1,1 do jedności dzieląc pierwszy wiersz przez a1,1:

Równanie [3] [3]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && -1\cfrac{1}{2} && 6\cfrac{1}{2} \\ 3 && -2 && 12 \end{bmatrix}

Pomnożony wiersz pierwszy mnożę razy a2,1 i odejmuję od wiersza drugiego:

Równanie [4] [4]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && -1\cfrac{1}{2} && 6\cfrac{1}{2} \\ 0 && 2\cfrac{1}{2} && -7\cfrac{1}{2}\end{bmatrix}

Etap II dzielę wiersz 2-gi przez a2,2:

Równanie [5] [5]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && -1\cfrac{1}{2} && 6\frac{1}{2} \\ 0 && 1 && -3 \end{bmatrix}

Pomnożony wiersz 2-gi przez a1,2 odejmuję od wiersza pierwszego:

Równanie [6] [6]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && 0 && 2 \\ 0 && 1 && -3 \end{bmatrix}

Na sam koniec macierz [6] zamieniam na układ równań:

Równanie [7] [7]

Zapis wyrażenia w formacie TeX-a:

\begin{cases} x-0\cdot y=2 \\ 0\cdot x+y=-3\end{cases}

Jak widać metoda ta działa, choć jest ona nieco żmudniejsza od poprzednich.

Zadanie 2

Rozwiązać układ równań z trzema niewiadomymi:

Równanie [8] [8]

Zapis wyrażenia w formacie TeX-a:

\begin{cases} 3\cdot x-7\cdot y+8\cdot z=1 \\ 17\cdot x+5\cdot y-3\cdot z=2 \\ 5\cdot x-2\cdot y+2\cdot z=0\end{cases}

Rozwiązanie:

Tworzę macierz z współczynników i wyrazów wolnych układu równań [7]:

Równanie [9] [9]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 3 && -7 && 8 && 1 \\ 17 && 5 && -3 && 2 \\ 5 && -2 && 2 && 0 \end{bmatrix}

Etap I Dzielę pierwszy wiersz przez a1,1:

Równanie [10] [10]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && -2\cfrac{1}{3} && 2\cfrac{2}{3} && \cfrac{1}{3} \\ 17 && 5 && -3 && 2 \\ 5 && -2 && 2 && 0\end{bmatrix}

Pierwszy wiersz pomnożony przez a2,1 odejmuję od wiersza drugiego:

Równanie [11] [11]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && -2\cfrac{1}{3} && 2\cfrac{2}{3} && \cfrac{1}{3} \\ 0 && 44\cfrac{2}{3} && -48\cfrac{1}{3} && -3\cfrac{2}{3} \\ 5 && -2 && 2 && 0 \end{bmatrix}

Pierwszy wiersz pomnożony przez a3,1 odejmuję od wiersza trzeciego:

Równanie [12] [12]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && -2\cfrac{1}{3} && 2\cfrac{2}{3} && \cfrac{1}{3} \\ 0 && 44\cfrac{2}{3} && -48\cfrac{1}{3} && -3\cfrac{2}{3} \\ 0 && 9\cfrac{2}{3} && -11\cfrac{1}{3} && -1\cfrac{2}{3}\end{bmatrix}

Etap II wiersz drugi dzielę przez a2,2:

Równanie [13] [13]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && -2\cfrac{1}{3} && 2\cfrac{2}{3} && \cfrac{1}{3} \\ 0 && 1 && -1\cfrac{11}{134} && -\cfrac{11}{134} \\ 0 && 9\cfrac{2}{3} && -11\cfrac{1}{3} && -1\cfrac{2}{3}\end{bmatrix}

Drugi wiersz pomnożony przez a1,2 odejmuję od wiersza pierwszego:

Równanie [14] [14]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && 0 && \cfrac{19}{134} && \cfrac{19}{134} \\ 0 && 1 && -1\cfrac{11}{134} && -\cfrac{11}{134} \\ 0 && 9\cfrac{2}{3} && -11\cfrac{1}{3} && -1\cfrac{2}{3}\end{bmatrix}

Drugi wiersz pomnożony przez a3,2 odejmuję od wiersza trzeciego:

Równanie [15] [15]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && 0 && \cfrac{19}{134} && \cfrac{19}{134} \\ 0 && 1 && -1\cfrac{11}{134} && -\cfrac{11}{134} \\ 0 && 0 && -\cfrac{117}{134} && -\cfrac{117}{134}\end{bmatrix}

Etap III Dzielę wiersz trzeci przez a3,3:

Równanie [16] [16]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && 0 && \cfrac{19}{134} && \cfrac{19}{134} \\ 0 && 1 && -1\cfrac{11}{134} && -\cfrac{11}{134} \\ 0 && 0 && 1 && 1\end{bmatrix}

Wiersz trzeci przemnożony przez a1,3 odejmuję od wiersza pierwszego:

Równanie [17] [17]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && 0 && 0 && 0 \\ 0 && 1 && -1\cfrac{11}{134} && -\cfrac{11}{134} \\ 0 && 0 && 1 && 1\end{bmatrix}

Wiersz trzeci przemnożony przez a2,3 odejmuję od wiersza drugiego:

Równanie [18] [18]

Zapis wyrażenia w formacie TeX-a:

\begin{bmatrix} 1 && 0 && 0 && 0 \\ 0 && 1 && 0 && 1 \\ 0 && 0 && 1 && 1\end{bmatrix}

Zamieniam to na układ równań:

Równanie [19] [19]

Zapis wyrażenia w formacie TeX-a:

\begin{cases} x+0\cdot y+0\cdot z=0 \\ 0\cdot x+y+0\cdot z=1 \\ 0\cdot x+0\cdot y+z=1\end{cases}}

Ktoś może powiedzieć, że ta metoda jest dość złożona i opiera się na zbyt wielu etapach a więc jest niewydajna, ale ta metoda została przeze mnie wykorzystana w perfidny skądinąd sposób w programie napisanym przeze mnie w języku C++, służącym do rozwiązywania układów równań metodą eliminacji Gaussa. Wystarczy dla przykładu podać na wejście programu następujące wartości:

Listing 1
  1. 3
  2. 3 -7 8 1
  3. 7 5 -3 2
  4. 5 -2 2 0

by po chwili program wypluł na ekran rozwiązanie z rozpisaniem poszczególnych etapów przekształcania macierzy:

Listing 2
  1. Przeliczanie macierzy do postaci macierzy jednostkowej:
  2. 3 -7 8 1
  3. 7 5 -3 2
  4. 5 -2 2 0
  5. Etap 1:
  6. 1 -2.333333333 2.666666667 0.3333333333
  7. 7 5 -3 2
  8. 5 -2 2 0
  9. 1 -2.333333333 2.666666667 0.3333333333
  10. 0 21.33333333 -21.66666667 -0.3333333333
  11. 0 9.666666667 -11.33333333 -1.666666667
  12. Etap 2:
  13. 1 -2.333333333 2.666666667 0.3333333333
  14. 0 1 -1.015625 -0.015625
  15. 0 9.666666667 -11.33333333 -1.666666667
  16. 1 0 0.296875 0.296875
  17. 0 1 -1.015625 -0.015625
  18. 0 0 -1.515625 -1.515625
  19. Etap 3:
  20. 1 0 0.296875 0.296875
  21. 0 1 -1.015625 -0.015625
  22. -0 -0 1 1
  23. 1 0 0 0
  24. 0 1 0 1
  25. -0 -0 1 1

Jak widać, program przeliczył to, co miał do przeliczenia, przekształcił macierz i wypluł wynik rozwiązania wprost na ekran monitora.

Załączniki:

Napisany przeze mnie program RownaniaLiniowe

Komentarze