PY_I_R_W13A_M03 Tablice wielowymiarowe
Macierze
Matematycznym przykładem tablic dwuwymiarowych są macierze – prostokątne tablice liczb. Ich rozmiary, nazywane również wymiarem, określamy przez liczbę wierszy oraz liczbę kolumn , a więc identycznie jak w przypadku tablic. Przybliżymy sobie zatem podstawowe działania matematyczne, przeprowadzane na macierzach, a następnie napiszemy prosty program realizujący niektóre z nich.
Dodawanie
Dodawanie macierzy jest intuicyjnym działaniem. Polega ono na dodaniu do siebie liczb znajdujących się na tych samych pozycjach w dodawanych macierzach. W wyniku przeprowadzonych operacji otrzymamy nową, wypełnioną sumami macierz.
Możemy dodawać więcej niż dwie macierze.
Możemy dodawać tylko macierze o tych samych wymiarach!
Odejmowanie
Odejmowanie wykonujemy analogicznie do dodawania – obliczamy różnicę między liczbami znajdującymi się na tych samych pozycjach w odejmowanych od siebie macierzach.
Możemy odejmować tylko macierze o tych samych wymiarach!
Mnożenie przez liczbę
Iloczyn macierzy i liczby wyliczamy, mnożąc – przez tę liczbę – każdy element rozpatrywanej macierzy.
Mnożenie przez macierz
W celu policzenia iloczynu dwóch macierzy należy wymnożyć po kolei wiersze pierwszej macierzy przez kolumny drugiej. Liczba wierszy wynikowej macierzy będzie równa liczbie wierszy pierwszej macierzy. Natomiast liczba kolumn będzie identyczna jak w przypadku drugiej macierzy.
Wyliczając liczbę a znajdującą się w pierwszej kolumnie i pierwszym wierszu wynikowej macierzy, sumujemy iloczyny odpowiadających sobie liczb z pierwszego wiersza pierwszej macierzy oraz pierwszej kolumny drugiej macierzy.
Analogicznie postępujemy z kolejnymi liczbami b, c, d.
Wstawiamy teraz wyliczone wartości do wynikowej macierzy.
Mnożenie dwóch macierzy możemy przeprowadzić jedynie w sytuacji, gdy liczba kolumn pierwszej macierzy jest identyczna, jak liczba wierszy drugiej macierzy.
Transponowanie
Transponowanie polega na zamianie wierszy macierzy w jej kolumny – pierwszy wiersz staje się pierwszą kolumną, drugi wiersz drugą kolumną itd.
Macierz przekazana do transponowania:
Przetransponowana macierz:
Program
Spróbujmy teraz stworzyć pseudokod opisujący operację dodawania i odejmowania macierzy. W tym celu posłużymy się tablicami dwuwymiarowymi. Rozpoczniemy od wczytania wartości dwóch macierzy o wymiarach 3 x 2, a następnie dodamy i odejmiemy je od siebie i wypiszemy uzyskane wyniki. Nasze operacje umieścimy w trzech osobnych funkcjach.
Tablice wielowymiarowe
Tablice o liczbie wymiarów większej niż 2 są zdecydowanie rzadziej stosowane, ale wciąż możliwe w implementacji. Tablica o n wymiarach, będzie w rzeczywistości jednowymiarową tablicą tablic o liczbie wymiarów n - 1 (tak samo jak tablica dwuwymiarowa jest jednowymiarową tablicą tablic jednowymiarowych).
Słownik
przekształcenie jakiegoś obiektu; w przypadku macierzy transponowanie oznacza zamianę jej wierszy w kolumny