Stronę tą wyświetlono już: 4805 razy
Drodzy Czytelnicy, nie chodzi o to, abyście rozwiązywali ręcznie układy równań liniowych, ale o to abyście wiedzieli jak je można rozwiązywać. W przypadku więc, gdy przed wami stanie zadanie rozwiązania jakiegoś dość złożonego układu równań, warto wiedzieć jak ułatwić sobie życie i rozwiązać nie ręcznie ale za pomocą odpowiednich do tego celu przeznaczonych narzędzi.
Rozwiązywanie układów równań za pomocą programu wxMaxima
Weźmy więc układ równań z zadania 1 ze strony Matematyka → Równania liniowe → Rozwiązywanie układów równań liniowych - zadania:
![]() | [1] |
Zapis wyrażenia w formacie TeX-a:
Układ równań [1] można w najłatwiejszy sposób rozwiązać korzystając z niekomercyjnego programu jakim jest wxMaxima dostępny w wersji na każdy z dostępnych na rynku systemie. Do rozwiązania układów równań służy funkcja algsys([r1, r2, ..., rn],[x1, x2, ..., xn]), która jako argumenty przyjmuje dwie listy: listę równań r1, r2, ..., rn; oraz listę niewiadomych x1, x2, ..., xn. Dla układu równań [1] wystarczy więc napisać taki kod:
aby po chwili program wypluł rozwiązanie:
Z powyższego kodu wynika jednoznacznie, że nie trzeba tutaj nawet się wysilać i podawać odpowiednio przekształconych równań, program sam przekształci te równania i znajdzie rozwiązanie.
Rozwiązywanie układów równań liniowych za pomocą programu pakietu LibreOffice zawierającego moduł arkuszy kalkulacyjnych Calc
Powyższa metoda jest bardzo przyjemna i prosta w użyciu, ale zawsze znajdzie się jakiś gagatek, który zapyta czy w takim arkuszu kalkulacyjnym się da to policzyć? No ludziska kochani, jak ręcznie się da policzyć to i w arkuszu kalkulacyjnym da się policzyć, tylko trzeba wiedzieć jak. Po pierwsze układ równań [1] trzeba przekształcić do postaci następującej:
![]() | [2] |
Zapis wyrażenia w formacie TeX-a:
a po drugie trzeba stworzyć tabelkę macierzy, która będzie wyglądała następująco:
| A | B | C | D | E | F | |
| 1 | m | z | g | zg | ww | |
| 2 | Równanie I | 1 | 1 | 1 | -1 | 6 |
| 3 | Równanie II | 0 | 1 | -0,5 | 0 | 0 |
| 4 | Równanie III | 1 | 0 | -2 | 0 | -12 |
| 5 | Równanie IV | 1 | 1 | 0 | -0,8 | 0 |
W powyższej tabelce pierwszy wiersz to adresy kolumn, natomiast pierwsza kolumna zwiera adresy wierszy, do których należy wpisać zadane wartości w arkuszu kalkulacyjnym. Oznaczenie ww użyte w tabelce oznacza kolumnę wyrazów wolnych.
Teraz tworzymy w arkuszu kalkulacyjnym macierz główną Mgł w następujący sposób:
| A | B | C | D | E | |
| 7 | m | z | g | zg | |
| 8 | Mgł= | =B2 | =C2 | =D2 | =E2 |
| 9 | =B3 | =C3 | =D3 | =E3 | |
| 10 | =B4 | =C4 | =D4 | =E4 | |
| 11 | =B5 | =C5 | =D5 | =E5 |
Oczywistym wydaje się fakt, że komórki A8:A11 powinny zostać scalone, natomiast niektóre komórki odwołują się poprzez adresowanie do wcześniej utworzonej tabelki.
Czym prędzej przystąpmy do utworzenia macierzy Mm niewiadomej m:
| A | B | C | D | E | |
| 13 | ww | z | g | zg | |
| 14 | Mm= | =F2 | =C2 | =D2 | =E2 |
| 15 | =F3 | =C3 | =D3 | =E3 | |
| 16 | =F4 | =C4 | =D4 | =E4 | |
| 17 | =F5 | =C5 | =D5 | =E5 |
Następnie macierz Mz:
| A | B | C | D | E | |
| 15 | m | ww | g | zg | |
| 16 | Mz= | =B2 | =F2 | =D2 | =E2 |
| 17 | =B3 | =F3 | =D3 | =E3 | |
| 18 | =B4 | =F4 | =D4 | =E4 | |
| 19 | =B5 | =F5 | =D5 | =E5 |
Macierz Mg:
| A | B | C | D | E | |
| 17 | m | z | ww | zg | |
| 18 | Mg= | =B2 | =C2 | =F2 | =E2 |
| 19 | =B3 | =C3 | =F3 | =E3 | |
| 20 | =B4 | =C4 | =F4 | =E4 | |
| 21 | =B5 | =C5 | =F5 | =E5 |
I ostatnia macierz Mzg:
| A | B | C | D | E | |
| 23 | m | z | g | ww | |
| 24 | Mzg= | =B2 | =C2 | =D2 | =F2 |
| 25 | =B3 | =C3 | =D3 | =F3 | |
| 26 | =B4 | =C4 | =D4 | =F4 | |
| 27 | =B5 | =C5 | =D5 | =F5 |
Teraz scalić należy komórki G8:G11 oraz H8:H11 i w pierwszej z nich wpisać Wgł= a w drugiej =WYZNACZNIK.MACIERZY(B8:E11). Teraz zaznaczyć komórkę B8 skopiować ctrl+c i wkleić ctrl+v w komórki: H14; H20; H26 i H32. W komórkach: G14 wpisać Wm=; G20 wpisać Wz=; G26 wpisać Wg= oraz do komórki G32 wpisać Wzg=.
Do komórek: J14 wpisać m=; J20 wpisać z=; J26 wpisać g=; J32 wpisać zg=.
W komórkę K14 wpisać =H14/$H$8 a następnie skopiować do komórek K20; K26 i K32.
Wynik będzie mniej więcej taki:
| m | z | g | zg | ww | ||||||
| Równanie I | 1 | 1 | 1 | -1 | 6 | |||||
| Równanie II | 0 | 1 | -0,5 | 0 | 0 | |||||
| Równanie III | 1 | 0 | -2 | 0 | -12 | |||||
| Równanie IV | 1 | 1 | 0 | -0,8 | 0 | |||||
| m | z | g | zg | |||||||
| Mgł= | 1 | 1 | 1 | -1 | Wgł= | 0,3 | ||||
| 0 | 1 | -0,5 | 0 | |||||||
| 1 | 0 | -2 | 0 | |||||||
| 1 | 1 | 0 | -0,8 | |||||||
| ww | z | g | zg | |||||||
| Mm= | 6 | 1 | 1 | -1 | Wm= | 1,2 | m= | 4 | ||
| 0 | 1 | -0,5 | 0 | |||||||
| -12 | 0 | -2 | 0 | |||||||
| 0 | 1 | 0 | -0,8 | |||||||
| m | ww | g | zg | |||||||
| Mz= | 1 | 6 | 1 | -1 | Wz= | 1,2 | z= | 4 | ||
| 0 | 0 | -0,5 | 0 | |||||||
| 1 | -12 | -2 | 0 | |||||||
| 1 | 0 | 0 | -0,8 | |||||||
| m | z | ww | zg | |||||||
| Mg= | 1 | 1 | 6 | -1 | Wg= | 2,4 | g= | 8 | ||
| 0 | 1 | 0 | 0 | |||||||
| 1 | 0 | -12 | 0 | |||||||
| 1 | 1 | 0 | -0,8 | |||||||
| m | z | g | ww | |||||||
| Mzg= | 1 | 1 | 1 | 6 | Wzg= | 3 | zg= | 10 | ||
| 0 | 1 | -0,5 | 0 | |||||||
| 1 | 0 | -2 | -12 | |||||||
| 1 | 1 | 0 | 0 |
Rozwiązywanie układów równań za pomocą programu RównaniaLiniowe
Swego czasu napisałem program, który rozwiązuje układy równań liniowych (omawianej już wcześniej) metodą eliminacji Gaussa. Wystarczy wkleić następujący kod do programu:
by ten po chwili wypluł na ekran rozwiązanie z rozpisanymi w następujący sposób etapami:
Jak widać, program przekształcił to co miał przekształcić i zwrócił to co miał zwrócić, więc nadaje się on do rozwiązywania takich liniowych układów równań.
Załączniki:
Arkusz kalkulacyjny programu LibreOffice z przykładem rozwiązywania układów równań liniowychNapisany przeze mnie program RownaniaLiniowe

![Równanie [1]](https://obliczeniowo.com.pl/rownania/w_2677.gif)
![Równanie [2]](https://obliczeniowo.com.pl/rownania/w_2678.gif)