(Na podstawie pomocy OpenOffice.org) Funkcje macierzowe - wstęp Co to jest macierz Macierz jest połączonym zakresem komórek arkusza zawierającym wartości. Kwadratowy zakres komórek składający się z 3 wierszy i 3 kolumn jest nazywany macierzą 3 x 3: A B C 1 7 31 33 2 95 17 2 3 5 10 50 Najmniejszą możliwą macierzą jest macierz 1 x 2 lub 2 x 1 składająca się z dwóch przyległych komórek. Wprowadzanie formuł macierzy Poniżej przedstawiono przykładowy sposób wprowadzenia formuły macierzy bez konieczności poznawania szczegółowych informacji o funkcjach macierzy. Wprowadzono 10 liczb do kolumn A i B (A1:A10 i B1:B10), a w kolumnie C należy obliczyć sumę wartości każdego wiersza. 1. Za pomoc ą myszy zaznacz zakres C1:C10, w którym będ ą wyś wietlane wyniki. 2. Naciśnij klawisz F2 lub kliknij w wierszu wprowadzania na pasku formuły. 3. Wprowad ź znak równości (=). 4. Zaznacz zakres A1:A10, który zawiera pierwsze wartoś ci dla formuły sumowania. 5. Naciśnij klawisz (+) na klawiaturze numerycznej. 6. Zaznacz liczby w drugiej kolumnie, w komórkach B1:B10. 7. Zakończ wprowadzanie, naciskając kombinacj ę klawiszy macierzy: Shift + Ctrl + Enter. Obszar macierzy jest automatycznie chroniony przed zmianami, takimi jak usunięcie wierszy lub kolumn. Możliwa jest jednak edycja formatów, na przykład zmiana koloru tła komórki. Co to jest formuła macierzowa Formuła macierzowa to formuła, w której są obliczane poszczególne wartości w zakresie komórek. W odróżnieniu od innych formuł w formule macierzowej jednocześnie obliczana jest nie jedna, ale wiele wartości. 1
Formuła macierzowa nie tylko oblicza wiele wartości, ale może także zwracać wiele wyników. Wynikiem formuły macierzowej jest także macierz. Aby pomnożyć wartości poszczególnych komórek w powyższej macierzy razy 10, nie trzeba stosować kilku formuł dla każdej komórki lub wartości. Zamiast tego można skorzystać z jednej formuły macierzowej. Zaznacz zakres 3 x 3 komórek w innej części arkusza, wprowadź formułę "=10*A1:C3" i zatwierdź ją kombinacją klawiszy Ctrl + Shift + Enter. Wynikiem będzie macierz 3 x 3 zawierająca poszczególne wartości zakresu komórek (A1:C3) pomnożone razy 10. W odwołaniu do zakresu (macierzy), oprócz mnożenia, można użyć także innych operatorów. Program OpenOffice.org Calc pozwala na korzystanie z operatorów dodawania (+), odejmowania (-), mnożenia (*), dzielenia (/), potęgowania (^), iloczynu logicznego (&) i porównania (=, <>, <, >, <=, >=). Operatory mogą służyć do obliczania poszczególnych wartości w zakresie komórek i w przypadku wprowadzenia formuły macierzowej zwracają wynik w postaci macierzy. Podczas zmiany operatorów porównania w formule macierzowej puste komórki podlegają tym samym zasadom, co w przypadku pojedynczych porównań, czyli mogą być reprezentowane przez liczbę 0 lub ciąg pusty. W związku z tym obie formuły macierzowe: {=A1:A2=""} i {=A1:A2=0} zwracają 1-kolumnową i 2-wierszową macierz z komórkami zawierającymi wartość PRAWDA, jeśli komórki A1 i A2 są puste. Kiedy używa si ę formuł macierzowych Formuł macierzowych używa się w celu powtórzenia obliczeń dla różnych wartości. Późniejsza zmiana metody obliczeń wymaga jedynie aktualizacji formuły macierzowej. Aby dodać formułę macierzową, należy zaznaczyć cały zakres komórek, a następnie dokonać odpowiedniej zmiany w formule macierzowej. W przypadku obliczania wielu wartości formuły macierzowe pozwalają także oszczędzić miejsce, ponieważ nie wymagają dużej ilości pamięci. Oprócz tego macierze są bardzo ważnym narzędziem w przypadku skomplikowanych obliczeń, ponieważ w obliczeniach można uwzględnić wiele zakresów komórek. Program OpenOffice.org posiada różne funkcje do przeprowadzania obliczeń na macierzach, miedzy innymi funkcję MACIERZ.ILOCZYN służącą do mnożenia dwóch macierzy i funkcję SUMA.ILOCZYNÓW obliczającą iloczyny skalarne dwóch macierzy. Korzystanie z formuł macierzowych w programie OpenOffice.org Calc Można także utworzyć "normalną" formułę, w której zakres komórek, taki jak parametry, oznacza formułę macierzową. Wynik jest uzyskiwany z przecięcia zakresu odwołania i wierszy lub kolumn zawierających formułę. Jeśli nie istnieje takie przecięcie lub zakres w przecięciu obejmuje kilka wierszy lub kolumn, zostanie wyświetlony komunikat o błędzie #WARTOŚĆ! Poniższy rysunek przedstawia omawianą koncepcję: Tworzenie formuł macierzowych W przypadku tworzenia formuły macierzowej za pomocą Kreatora funkcji za każdym razem należy zaznaczyć pole wyboru Macierz, dzięki czemu wyniki są zwracane w postaci macierzy. W przeciwnym razie zostanie zwrócony wynik funkcji wyłącznie dla wartości w lewym górnym rogu macierzy. W przypadku wprowadzania formuły macierzowej bezpośrednio w komórce należy ją zatwierdzić kombinacją klawiszy Shift + Ctrl + Enter zamiast samego klawisza Enter. Tylko w ten sposób zostanie utworzona formuła macierzowa. 2
Formuły macierzowe w programie OpenOffice.org Calc są wyświetlane w klamrach. Jednakże nie można utworzyć formuły macierzowej poprzez ręczne wprowadzenie klamer. Komórki w macierzy wynikowej są automatycznie chronione przed zmianami, Możliwa jest jednak edycja i kopiowanie formuły macierzowej przez zaznaczenie całego zakresu komórek. Edycja formuł macierzowych 1. Zaznacz zakres komórek lub macierz zawierając ą formuł ę macierzow ą. Aby zaznaczyć cał ą macierz, umieść kursor w jej zakresie, a nastę pnie naciśnij kombinacj ę klawiszy Ctrl + /, gdzie / jest klawiszem dzielenia na klawiaturze numerycznej. 2. Innym sposobem jest naciśnię cie klawisza F2 lub ustawienie kursora w wierszu wprowadzania. Obie powyższe czynności pozwalaj ą na edycję formuły. 3. Po dokonaniu zmian naciśnij kombinacj ę klawiszy Ctrl + Shift + Enter. Części macierzy mogą być odrębnie formatowane, można na przykład zmienić kolor czcionki. W tym celu należy wybrać zakres komórek, a następnie zmienić żądany atrybut. Kopiowanie formuł macierzowych 1. Zaznacz zakres komórek lub macierz zawierając ą formuł ę macierzow ą. 2. Naciśnij klawisz F2 lub umieść kursor w wierszu wprowadzania. 3. Skopiuj formuł ę do wiersza wprowadzania przez naciśnię cie kombinacji klawiszy Ctrl + C. 4. Zaznacz zakres komórek, gdzie ma zostać wstawiona formuła macierzowa, a następnie naciśnij klawisz F2 lub umieś ć kursor w wierszu wprowadzania. 5. Wklej formuł ę w zaznaczonym miejscu za pomoc ą kombinacji klawiszy Ctrl + V i zatwierd ź j ą kombinacj ą klawiszy Ctrl + Shift + Enter. Zaznaczony zakres komórek zawiera teraz formuł ę macierzow ą. Dostosowanie zakresu komórek Aby edytować macierz wynikową, należy wykonać poniższe czynności: 1. Zaznacz zakres komórek lub macierz zawierając ą formuł ę macierzow ą. 2. Poniżej zaznaczenia, po prawej stronie znajduje si ę mała ikona pozwalająca na zwiększenie lub zmniejszenie zakresu za pomoc ą myszy. Dostosowanie zakresu macierzy nie powoduje dostosowania formuły macierzowej. Zmianie podlega wyłącznie zakres wyświetlanych wyników. 3
Przytrzymanie klawisza Ctrl pozwala na utworzenie kopii formuły macierzowej w podanym zakresie. Warunkowe obliczenia macierzy Warunkowe obliczenie macierzy jest macierzą lub formułą macierzową, która zawiera funkcję JEŻELI() lub WYBIERZ(). Argument warunkowy w formule jest odwołaniem do obszaru lub wynikiem macierzy. W poniższym przykładzie zapis ">0" w formule {=JEŻELI(A1:A3>0;"tak";"nie")} dotyczy każdej komórki w zakresie A1:A3, a wynik jest kopiowany do odpowiedniej komórki. A B (formuła) 1 1 {=JEŻELI(A1:A3>0;"tak";"nie")} tak 2 0 {=JEŻELI(A1:A3>0;"tak";"nie")} nie 3 1 {=JEŻELI(A1:A3>0;"tak";"nie")} tak B (wynik) Poniższe funkcje służą do wymuszonej obsługi macierzy: WSP.KORELACJI, KOWARIANCJA, REGLINX, TEST.F, ODCIĘTA, WYZNACZNIK MACIERZY, MACIERZ.ODW, MACIERZ.ILOCZYN, WYST.NAJCZĘŚCIEJ, PEARSON, PRAWDPD, R.KWADRAT, NACHYLENIE, REGBŁSTD, SUMA.ILOCZYNÓW, SUMA.X2.M.Y2, SUMA.X2.P.Y2, SUMA.XMY.2, TEST.T Użycie odwołań do obszarów jako argumentów powyższych funkcji powoduje, że zachowują się one jak funkcje macierzowe. Poniższa tabela przedstawia przykład wymuszonej obsługi macierzy: A B (formuła) B (wynik) C (wymuszona formuła macierzowa) C (wynik) 1 1 =A1:A2+1 2 =SUMA.ILOCZYNÓW(A1:A2+1) 5 2 2 =A1:A2+1 3 =SUMA.ILOCZYNÓW(A1:A2+1) 5 3 =A1:A2+1 #WARTOŚ Ć =SUMA.ILOCZYNÓW(A1:A2+1) 5 OPIS WYBRANYCH FUNKCJI JEDN.MACIERZY Zwraca kwadratową macierz unitarną (jednostkową) określonego rozmiaru. Macierz unitarna jest macierzą kwadratową o elementach na głównej przekątnej równych 1 i wszystkich pozostałych elementach równych 0. JEDN.MACIERZY(wymiary) Wymiary oznaczają rozmiar jednostki macierzy. Ogólne wprowadzenie do kategorii funkcji Macierz można znaleźć na górze tej strony. 4
Zaznacz kwadratowy obszar na arkuszu, na przykład od A1 do E5. Bez usuwania zaznaczenia wybierz funkcję JEDN.MACIERZY. Zaznacz pole wyboru Macierz. Wprowadź żądane wymiary jednostki macierzy, w tym przypadku 5, a następnie kliknij przycisk OK. Innym sposobem jest wprowadzenie formuły =JEDN.MACIERZY(5) w ostatniej komórce zaznaczonego obszaru (E5) i naciśnięcie kombinacji klawiszy Shift + Ctrl + Enter. W zakresie A1:E5 zostanie utworzona macierz unitarna. WYZNACZNIK.MACIERZY Zwraca wyznacznik macierzy. Funkcja zwraca wartość w bieżącej komórce; nie jest wymagane zdefiniowanie zakresu. WYZNACZNIK.MACIERZY(macierz) Macierz oznacza macierz kwadratową, dla której należy obliczyć wyznacznik. Ogólne wprowadzenie do kategorii funkcji Macierz znajduje się na górze tej strony. MACIERZ.ODW Zwraca macierz odwrotną. MACIERZ.ODW(macierz) Macierz oznacza macierz kwadratową, którą należy odwrócić. Zaznacz macierz, a następnie wybierz funkcję MACIERZ.ODW. Zaznacz macierz wyjściową, zaznacz pole Macierz, a następnie kliknij przycisk OK. MACIERZ.ILOCZYN Wyznacza iloczyn dwóch macierzy. Liczba kolumn pierwszej macierzy musi być równa liczbie wierszy drugiej macierzy. Macierz kwadratowa charakteryzuje się równą liczbą wierszy i kolumn. MACIERZ.ILOCZYN(macierz; macierz) Macierz na pierwszej pozycji oznacza pierwszą macierz używaną do obliczenia iloczynu. 5
Macierz na drugiej pozycji oznacza drugą macierz o tej samej liczbie wierszy. Szczegółowe informacje znajdują się na górze strony. Zaznacz kwadratowy zakres komórek. Wybierz funkcję MACIERZ.ILOCZYN. Zaznacz pierwszą Macierz, a następnie zaznacz drugą Macierz. Korzystając z Kreatora funkcji, zaznacz pole wyboru Macierz. Kliknij przycisk OK. W zakresie zaznaczonym na początku zostanie wyświetlona macierz wynikowa. TRANSPONUJ Transponuje wiersze macierzy z jej kolumnami. TRANSPONUJ(macierz) Macierz oznacza macierz, którą należy przetransponować. Zaznacz zakres zawierający macierz, którą należy przetransponować. Oryginalna macierz składa się z n wierszy i m kolumn, zaznaczony zakres musi mieć co najmniej m wierszy i n kolumn. Wprowadź formułę bezpośrednio, zaznacz oryginalną macierz, a następnie naciśnij kombinację klawiszy Shift + Ctrl + Enter. W przypadku korzystania z Kreatora funkcji zaznacz pole wyboru Macierz. W zaznaczonym obszarze zostanie wyświetlona macierz wynikowa, która jest automatycznie chroniona przed zmianami. SUMA.ILOCZYNÓW Mnoży odpowiadające sobie elementy w podanych macierzach i zwraca sumę tych iloczynów. SUMA.ILOCZYNÓW(macierz_1; macierz_2...macierz_30) Macierz_1, macierz_2...macierz_30 oznaczają macierze, dla których należy pomnożyć ich odpowiadające sobie elementy. Na liście argumentów musi znajdować się co najmniej jedna macierz. W przypadku tylko jednej macierzy sumowane są jej wszystkie elementy. A B C D 1 2 3 4 5 2 6 7 8 9 3 10 11 12 13 6
=SUMA.ILOCZYNÓW(A1:B3;C1:D3) zwraca wartość 397. Obliczenia: A1*C1 + B1*D1 + A2*C2 + B2*D2 + A3*C3 + B3*D3 Funkcja SUMA.ILOCZYNÓW pozwala na obliczenie iloczynu skalarnego dwóch wektorów. Funkcja SUMA.ILOCZYNÓW zwraca jedną liczbę, nie ma potrzeby wprowadzania jej w postaci funkcji macierzowej. SUMA.X2.M.Y2 Zwraca sumę różnic kwadratów odpowiadających sobie wartości dwóch macierzy. SUMA.X2.M.Y2(macierz_X; macierz_y) Macierz_X oznacza pierwszą macierz, której elementy mają być podniesione do kwadratu i dodane. Macierz_Y oznacza drugą macierz, której elementy mają być podniesione do kwadratu i odjęte. Szczegółowe informacje znajdują się na górze strony. SUMA.X2.P.Y2 Zwraca sumę sum kwadratów odpowiadających sobie wartości dwóch macierzy. SUMA.X2.P.Y2(macierz_X; macierz_y) Macierz_X oznacza pierwszą macierz, której elementy mają być podniesione do kwadratu i dodane. Macierz_Y oznacza drugą macierz, której elementy mają być dodane i podniesione do kwadratu. Szczegółowe informacje znajdują się na górze strony. SUMA.XMY.2 Dodaje kwadraty wariancji pomiędzy odpowiadającymi sobie elementami dwóch macierzy. SUMA.XMY.2(macierz_X; macierz_y) Macierz_X oznacza pierwszą macierz, której elementy mają być odjęte i podniesione do kwadratu. Macierz_Y oznacza drugą macierz, której elementy mają być odjęte i podniesione do kwadratu. 7