Stronę tą wyświetlono już: 4273 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