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