Metoda macierzowa rozwiązywania układów równań liniowych o

Transkrypt

Metoda macierzowa rozwiązywania układów równań liniowych o
Edward Czarnecki
Metoda macierzowa rozwiązywania układów równań liniowych
o dowolnej liczbie niewiadomych
Układ n-równań liniowych
+
+ ⋯+
=
+
+ ⋯+
=
……………………………………..
+
+ ⋯+
=
…
…
… … … … … … … × … = …
…
{1}
można zastąpić równaniem macierzowym
×
czyli:
=
{2}
{3}
…
…
= … … … … … … … – macierz współczynników przy niewiadomych,
…
gdzie:
= … – macierz niewiadomych,
=
…
– macierz wyrazów wolnych.
Wystarczy teraz znaleźć macierz
odwrotną do macierzy tak, że:
× = 1 następnie pomnożyć
przez co otrzymamy:
lewostronnie (mnożenie macierzy nie jest przemienne) obie strony równania przez
gdzie:
Zatem
czyli
× × =
× …
…
= … … … … … … … – macierz odwrotna do danej
…
=
× {4}
{5}
…
…
… = … … … … … … … × …
…
Aby określić macierze współczynników wystarczy pomnożyć macierze
pokazano poniżej:
{6}
i . Sposób wykonania mnożenia
…
∙ +
∙ +… +
∙
…
∙ +
∙ +… +
∙
… … … … … … … × … = … … … … … … … … … … … … … … .
…
∙ +
∙ +… +
∙
{7}
Zadanie staje się całkiem proste, bo przekształca się w proste mnożenie i dodawanie, ale… Odwracanie
macierzy jest czynnością bardzo trudną i żmudną, gdyż musi być wykonywane rekurencyjnie. Odwrócenie
macierzy 3. stopnia jest już trudne, a odwrócenie macierzy, np. 5. stopnia wręcz niewykonalne.
Byłoby niewykonalne, gdyby nie Excel. W Excelu odwracanie macierzy nawet 20. stopnia jest łatwe i szybkie.
Dla przykładu wykonamy odwracanie macierzy 10. stopnia.
Do obszaru B2:K11 wpisać dowolne liczby (współczynniki) układu równań. Wpisywane liczby nie powinny być
zbyt duże, w granicach -2 do 2 (by otrzymane wyrazy macierzy odwrotnej były nie za wysokie).
W obszarze B13:K13 wpisać liczby naturalne od 1 do 10.
Ten sam ciąg wpisać w obszarze A14:A23. Liczby te będą określać numerację wyrazów macierzy
.
Odwracanie macierzy wykonujemy funkcją
=MACIERZ.ODW(tablica)
Funkcja ta wstawia w komórce aktywnej wyraz pierwszy
macierzy odwróconej. Ażeby móc wykonać pełną
macierz odwrotną należy uzyć funkcji
=INDEKS(y;x)
które powoduje wstawianie wyrazów w macierzy o numerach będących parametrami funkcji.
W sumie pełna funkcja odwracania macierzy będzie mieć następującą postać:
w komórce B14: =INDEKS(MACIERZ.ODW(tablica);A14;B13)
Aby móc kopiować formułę do pozostałych komórek macierzy odwróconej trzeba zastosować adresowanie
mieszane:
=INDEKS(MACIERZ.ODW($B$2:$K$11);$A14;B$13)
Kopiując tę formułę do obszaru B14:K23 otrzymamy w tym obszarze wyrazy macierzy odwróconej.
Teraz należy w obszarze, na przykład M14:M23 wpisać wyrazy wolne ( , , … . .
), a następnie wykonać
mnożenie macierzy według schematu {7}.
Wyniki zapisać w obszarze, na przykład O14:O23
W komórce O14 formuła będzie miała postać:
=B14*M$14+C14*M$15+D14*M$16+E14*M$17+F14*M$18+G14*M$19+H14*M$20+I14*M$21+J14*M$22+K
14*M$23.
Użycie adresowania mieszanego umożliwi skopiowanie formuły do pozostałych komórek obszaru O14:O23.
Otrzymane liczby w obszarze O14:O23 stanowią rozwiązanie układu równań o 10 niewiadomych.
Jak widać jest to bardzo szybka i prosta metoda rozwiązywania układów równań. Przeczytanie tego tekstu trwa
dłużej niż samo rozwiązanie (oczywiście po przećwiczeniu metody).
Operację tę można jeszcze uprościć i znacznie przyspieszyć przy zastosowaniu wielokomórkowych formuł
tablicowych. Wtedy cała operacja sprowadza się do zapisania formuły w komórce narożnej i wprowadzeniu jej
do pozostałej części tablicy.
Odwracamy macierz A:
A
A-1 tworzenie
A-1 wyniki
(1)
(2)
(3)
Dana jest macierz kwadratowa A (współczynniki w układzie równań). Aby wyznaczyć macierz odwróconą
należy zaznaczyć obszar o identycznych rozmiarach. W lewej górnej komórce wpisać funkcję
=MACIERZ.ODW(A1:E5) i następnie użyć skrótu klawiaturowego Shift+Ctrl+Enter. W wyniku tego zapisana w
narożniku funkcja zostanie wprowadzona do wszystkich komórek zaznaczonego obszaru.Otrzymamy tablicę
wyrazów macierzy odwróconej. Wielokomórkowe formuły tablicowe zastępują funkcję =INDEKS(y;x).
Mnożenie macierzy jest również łatwe i szybkie. Dotyczy dwóch macierzy A i B o wymiarach spełniających
warunek:
liczba kolumn macierzy A = liczba wierszy macierzy B
Dane są macierze: A – 6 kolumn, 5 wierszy i B – 3 kolumny, 5 wierszy (rysunek).
A
B
C – iloczyn macierzy A i B
Aby pomnożyć macierz A przez macierz B należy zaznaczyć obszar (3x5) – 3 kolumny, 5 wierszy. W lewej górnej
komórce wpisać funkcję mnożenia macierzy =MACIERZ.ILOCZYN(A1:F5;H1:J6) i następnie wprowadzić ją za
pomocą skrótu klawiaturowego Shift+Ctrl+Enter. W wyniku otrzymamy macierz C będącą iloczynem macierzy A
i B. Do wprowadzania formuły można użyć kreatora funkcji, należy pamiętać, by po wprowadzeniu wartości
parametrów nie zatwierdzać ich przyciskiem OK, lecz skrótem klawiaturowym Shift+Ctrl+Enter.
Zatem rozwiązanie układu równań o wielu niewiadomych sprowadza się do dwukrotnego wprowadzenia
wielokomórkowych formuł tablicowych.
Kronecker i Capelli, którzy w XIX wieku sformułowali twierdzenia dotyczące metody macierzowej, byliby
urzeczeni udoskonaleniem ich metody, jaką dostarcza arkusz kalkulacyjny. Żmudne wielogodzinne obliczenia,
przy których łatwo o pomyłki, zastąpione zostały przez kilka prostych operacji.
Życzę miłej zabawy