vba zerowa
Transkrypt
vba zerowa
Rachunek macierzowy Macierzą A nazywamy funkcję 2-zmiennych, która parze liczb naturalnych (i,j) gdzie i = 1,2,3,4 ....,m; j = 1,2,3,4,......n przyporządkowuje dokładnie jeden element aij. a11 a A = 21 ... a m1 ... a1n ... a 2 n ... ... ... a mn a12 a 22 ... am2 Wymiarem macierzy nazywamy uporządkowaną parę m × n (m = n macierz kwadratowa, m <> n macierz prostokątna) Wektor kolumnowy m wymiarowy – macierz prostokątna o wymiarze n=1 Wektor wierszowy n wymiarowy – macierz prostokątna o wymiarze m=1 Macierz diagonalna a11 0 D= ... 0 0 a 22 ... 0 ... 0 ... 0 ... ... ... a mn Macierz skalarna a 0 S= ... 0 0 a ... 0 ... ... ... ... 0 0 ... a Macierz jednostkowa – Kroneckera 1 0 1n = ... 0 Macierz górnotrójkątna i dolnotrójkątna a11 0 A= ... 0 a12 a 22 ... 0 ... a1n ... a 2 n ... ... ... a mn a11 a A = 21 ... a m1 0 a 22 ... am2 ... 0 ... 0 ... ... ... a mn Macierz transponowana to taka, która powstała z zamiany wierszy i kolumn [ ] A = aij mxn [ ] AT = a ji nxm 0 1 ... 0 ... ... ... ... 0 0 ... 1 Iloczyn macierzy A i B istnieje tylko wtedy, gdy liczba kolumn macierzy A jest równa liczbie wierszy macierzy B [ ] A = aij [ ] B = bij mxp AB = F = [ f ] pxn p f ij = ∑ air brj ij mxn r =1 Przykład B A 3 2 5 5 7 5 4 3 7 6 4 6 4 7 1 8 1 7 2 4 5 5 8 9 3 2 1 8 1 9 42 51 43 74 35 69 83 97 90 145 76 136 21 19 30 35 30 34 64 82 56 118 69 109 Każdy element macierzy F jest iloczynem skalarnym pewnego wiersza macierzy A i pewnej kolumny macierzy B Każdej macierzy kwadratowej można przyporządkować jedna liczbę rzeczywistą, zwaną wyznacznikiem macierzy a11 a21 det A = A = ... am1 a12 a22 ... am 2 ... a1n ... a2 n ... ... ... amn Stopień wyznacznika jest taki, jak macierzy, której jest przyporządkowany Definicja wyznacznika – Twierdzenie Laplace’a n n k =1 k =1 det A = ∑ aik Dik =∑ a kj Dkj (w/g dowolnego wiersza, w/g dowolnej kolumny) gdzie Dij jest dopełnieniem algebraicznym elementu aij. Dopełnieniem algebraicznym elementu aij wyznacznika nazywamy wyrażenie Dij = (−1) i + j M ij gdzie Mij jest wyznacznikiem podmacierzy powstałej z macierzy A po usunięciu i-tego wiersza i j-tej kolumny Macierz osobliwa to macierz, której wyznacznik wynosi 0 Właściwości wyznaczników: 1. Jeżeli w wyznaczniku zamienimy wszystkie wiersze na kolumny to jego wartość nie ulega zmianie 2. Wyznacznik, którego wszystkie elementy jakiegoś wiersza lub kolumny są równe zero, ma wartość zero 3. zamiana w wyznaczniku dwóch wierszy zmienia jego znak 4. Jeżeli w wyznaczniku dwa wiersze są jednakowe, to jego wartość jest równa zero 5. Wspólny czynnik z dowolnego wiersza mozna wyłączyć przed znak wyznacznika 6. Wyznacznik, którego dwa wiersze sa liniowo zależne, jest równy zero 7. Suma wyznaczników dwóch macierzy jest równa wyznacznikowi sumy tych macierzy 8. Wartość wyznacznika nie ulega zmianie, jeżeli do elementów wiersza i dodamy odpowiednie elementy wiersza k (i różne od k), pomnożone przez dowolna liczbę Twierdzenie Cauchy’ego Wyznacznik iloczynu dwóch macierzy kwadratowych tego samego stopnia jest równy iloczynowi wyznaczników tych macierzy: det AB = det A det B Macierz odwrotna i sposoby jej wyznaczania Macierzą odwrotna do macierzy kwadratowej A, nazywamy taka macierz B, że: AB = BA = I AA-1 = A-1A = I Jeżeli macierz A stopnia n jest nieosobliwa, to: 1 T A −1 = D A gdzie DT oznacza transponowana macierz dopełnień algebraicznych elementów macierzy A, czyli: [ ] D T = Dij T nxn , oraz: Dij = (−1) i + j M ij Wyznaczanie macierzy odwrotnej można realizować: 1. odwołując się do definicji macierzy odwrotnej 2. stosując metodę operacji elementarnych Jeżeli macierz A powstaje z macierzy B przez zastosowanie operacji elementarnych, to macierze A i B nazywamy równoważnymi Operacją elementarną na macierzy nazywamy każde z następujących przekształceń: 1. zamiana miejscami dwóch dowolnych wierszy (kolumn) 2. dodanie do wszystkich elementów dowolnego wiersza (kolumny) elementów innego wiersza (kolumny) pomnożonych przez dowolna liczbę 3. pomnożenie wszystkich elementów dowolnego wiersza (kolumny) przez dowolna liczbę różna od zera Twierdzenie: Jeżeli macierz blokowa C = [I | D ] powstała w wyniku stosowania operacji elementarnych na wierszach macierzy B = [A | I ], to D = A −1 Układ równań liniowych Układ równań liniowych w postaci: a11 x1 + a12 x 2 + .... + a1n x n = b1 a 21 x 2 + a 22 x 2 + .... + a 2 n x n = b2 ..................................... a m1 x1 + a m 2 x 2 + .... + a mn x n = bm można zapisać w równoważnej postaci macierzowej AX = B, gdzie: a11 a A = 21 ... a m1 a12 a 22 ... am2 ... a1n ... a 2 n ... ... ... a mn x1 x X = 2 ... xm b1 b B= 2 ... bm Układ ten nazywamy niejednorodnym gdy macierz B <> 0, oraz jednorodnym, gdy B = 0. Szczególnym przypadkiem układu równań dla m = n jest układem Cramera.. Rząd macierzy A tego układu jest równy n [ ] R a ij nxn =n Oznacza to, że macierz A jest nieosobliwa. Twierdzenie Układ Cramera ma dokładnie jedno rozwiązanie określone wzorem Cramera: w xk = k k = 1,2, ..., n w gdzie: w = det A, wk = det Ak, macierz Ak powstaje z macierzy A przez zastąpienie kolumny k wyrazami b1, b2, ..., bn. Stosując metody numeryczne układ Cramera można rozwiązać na podstawie przekształcenia: AX = B X = A-1B Układ Cramera jednorodny ma tylko jedno – zerowe rozwiązanie WYZNACZNIK.MACIERZY Zobacz też Podaje wartość wyznacznika macierzy tablicy. Składnia WYZNACZNIK.MACIERZY(tablica) Tablica jest tablicą liczbową o równej liczbie wierszy i kolumn. Tablicy można nadać zakres komórek; na przykład, A1:C3; może być to tablica stałych takich jak {1;2;3;4;5;6;7;8;9}; lub nazwa dowolnej z tych dwóch. Jeśli którakolwiek z komórek tablicy jest pusta lub zawiera tekst, funkcja WYZNACZNIK.MACIERZY podaje wartość błędu #ARG!. Funkcja WYZNACZNIK.MACIERZY także podaje wartość błędu #ARG! jeśli liczba wierszy i kolumn tablicy nie jest równa. Uwagi Wyznacznik macierzy jest liczbą wyznaczoną przez wartości tablicy. Wyznacznik trzywierszowej i trzykolumnowej tablicy A1:C3, definiuje się następująco: jest równe Wyznaczników macierzy używa się zasadniczo do rozwiązywania układów równań wielu zmiennych. Funkcja WYZNACZNIK.MACIERZY oblicza się z dokładnością do około 16 cyfr, co może powodować niewielkie błędy numeryczne, gdy ich kompensacja jest niezupełna. Na przykład, wyznacznik macierzy osobliwej może się różnić od zera o 1E-16. Przykłady jest jest równe 88 równe 1 jest równe -3 jest równe #ARG!, ponieważ tablica nie ma równych liczb wierszy i kolumn. TRANSPONUJ Zobacz też Zamienia pionowy zakres komórek na zakres poziomy lub odwrotnie. Funkcja TRANSPONUJ musi być wprowadzona jako formuła tablicowa do zakresu, który ma odpowiednie liczby wierszy i kolumn, gdyż w argumencie tablica są kolumny i wiersze. Funkcję TRANSPONUJ należy stosować w celu zmiany pionowej i poziomej orientacji tablicy w arkuszu. Niektóre funkcje, jak na przykład funkcja REGLINP, podają w wyniku tablice poziome nachylenia i punktu przecięcia z osią Y dla prostej. Wynikiem poniższej formuły będzie tablica pionowa z wartościami nachylenia i punktu przecięcia z osią Y dla prostej znalezionej przez funkcję REGLINP: !"#$%&'(#)*+,-./01)*+,-./02 Składnia TRANSPONUJ(tablica) Tablica jest tablicą lub zakresem komórek w arkuszu, które chcesz transponować. Tablicę transponowaną tworzy się następująco: pierwszy wiersz tablicy będzie pierwszą kolumną nowej tablicy, drugi wiersz będzie drugą kolumną itd. Przykład Załóżmy, że A1:C1 zawierają odpowiednio 1, 2, 3. Po wprowadzeniu poniższej formuły jako tablicy do komórek A3:A5 !"#$%&3333 jest równe odpowiednim wartościom w A3:A5 MACIERZ.ILOCZYN Zobacz też Wynikiem jest iloczyn macierzowy dwu tablic. Wynik jest tablicą o takiej samej liczbie wierszy jak tablica1 i takiej samej liczbie kolumn jak tablica2. Składnia MACIERZ.ILOCZYN(tablica1;tablica2) Tablica1; tablica2 są to tablice, które należy przemnożyć. Liczba kolumn w tablicy1 musi być taka sama jak liczba wierszy w tablicy2, obydwie tablice mogą zawierać jedynie liczby. Tablica1 i tablica2 mogą wystąpić jako zakresy komórek, stałe tablicowe lub adresy. Jeśli którakolwiek z komórek jest pusta lub zawiera tekst albo liczba kolumn w tablicy1 różni się od liczby wierszy w tablicy2, funkcja MACIERZ.ILOCZYN podaje wartość błędu #ARG!. Uwagi Tablica zawierająca iloczyn macierzowy a dwóch tablic b i c jest równa: gdzie i jest liczbą wierszy a j jest liczbą kolumn. Formuły, których wynikiem są tablice, muszą być wprowadzane jako formuły tablicowe. Przykłady ($ jest równe {2;6\14;4} ($ jest równe {6;0\4;0} ($ jest równe #ARG!, ze względu na to, że pierwsza tablica ma trzy kolumny, a druga tablica ma tylko 2 wiersze. MACIERZ.ODW Zobacz też Wynikiem jest macierz odwrotna do macierzy przechowywanej w tablicy. Składnia MACIERZ.ODW(tablica) Tablica jest tablicą liczbową o równych liczbach wierszy i kolumn. Tablica może być zakresem komórek, na przykład A1:C3; może być to tablica stałych: {1;2;3\4;5;6\7;8;9} lub nazwa dowolnej z tych dwóch. Jeśli którakolwiek z komórek tablicy jest pusta lub zawiera tekst, MACIERZ.ODW podaje wartość błędu #ARG!. MACIERZ.ODW także podaje wartość błędu #ARG!, jeśli tablica nie ma równych liczb wierszy i kolumn. Uwagi Formuły, których wynikiem są tablice, muszą być wprowadzane jako formuły tablicowe. Macierzy odwrotnych, podobnie jak wyznaczników używa się zasadniczo do rozwiązywania układów równań matematycznych wielu zmiennych. Iloczyn macierzy i jej odwrotności jest macierzą jednostkową - macierzą kwadratową, której elementy diagonalne są równe 1, a wszystkie pozostałe są równe 0. Przykładowo, obliczając dwuwierszową, dwukolumnową macierz zakres A1:B2 zawiera litery a, b, c i d, reprezentujące dowolne liczby. Poniższa tablica pokazuje odwrotność macierzy A1:B2: Kolumna A Kolumna B Wiersz 1 d/(a*d-b*c) b/(b*c-a*d) Wiersz 2 c/(b*c-a*d) a/(a*d-b*c) MACIERZ.ODW oblicza się z dokładnością do około 16 cyfr, co może prowadzić do niewielkich błędów numerycznych, jeśli nie wystąpi ich pełna kompensacja. Niektórych macierzy kwadratowych nie da się odwrócić, a wynikiem działania MACIERZ.ODW będzie wartość błędu #LICZBA!. Wyznacznik macierzy nieodwracalnej jest równy 0. Przykłady $45 jest równe {0;0,5\-1;2} $45 jest równe {0,25;0,25;-0,75\0;0;0,5\0,75;-0,25;-0,25} Wskazówka Należy użyć funkcji INDEKS do uzyskania dostępu do pojedynczych elementów macierzy odwrotnej. Formuły tablicowe i ich wprowadzanie Formuła tablicowa może wykonywać wiele obliczeń, a następnie zwracać pojedynczy wynik lub wiele wyników. Formuły tablicowe działają na dwóch lub większej liczbie zestawów wartości znanych jako argumenty tablicowe. Każdy argument tablicowy musi mieć taką samą liczbę wierszy i kolumn. Formuły tablicowe tworzy się w taki sam sposób, w jaki są tworzone inne formuły, z tą tylko różnicą, że formułę wprowadza się naciskając klawisze CTRL+SHIFT+ENTER. Oblicz pojedynczy wynik Czasami program Microsoft Excel musi wykonać kilka obliczeń, aby wygenerować pojedynczy wynik. Na przykład, następujący arkusz pokazuje, że firma ma regionalne biura w Europie i w USA, a każde biuro ma trzy działy produkcji. Aby znaleźć średni zysk uzyskany w 1992 roku przez dział produkcji w Europie, będziesz musiał użyć formuły tablicowej. Komórka C16 zawiera formułę tablicową =ŚREDNIA(IF(C5:C14="Europa",D5:D14)), wyszukującą komórki w zakresie C5:C14, zawierające tekst "Europa" i następnie wyliczającą średnią wartość w odniesieniu do komórek umieszczonych w zakresie D5:D14. Oblicz wiele wyników Aby za pomocą formuły tablicowej obliczyć wiele wyników, należy wprowadzić tablicę do zakresu komórek, który ma taką samą liczbę wierszy i kolumn, jak argumenty tablicowe. W poniższym przykładzie dana jest seria trzech wartości sprzedaży (w wierszu 5) dla serii trzech miesięcy (w wierszu 3). Funkcja REGLINW ustala wartości tworzące linię prostą na podstawie wartości sprzedaży. Aby wyświetlić wyniki formuły, jest ona wprowadzona do trzech komórek w wierszu 6 (C6:E6). Kiedy wprowadzisz formułę =TREND(C5:E5,C3:E3) jako formułę tablicową, wyprodukuje ona trzy oddzielne wyniki, biorąc pod uwagę trzy wartości sprzedaży i trzy miesiące. Użyj stałych wartości Formułę tablicową można także zastosować do obliczenia pojedynczego lub wielu wyników dla serii wartości, które nie zostały wprowadzone do arkusza roboczego. Formuły tablicowe mogą akceptować stałe w taki sam sposób jak formuły nie tablicowe, lecz tablica stałych musi być wprowadzona w pewnym formacie. Na przykład rozpatrując te same wartości i te same daty, co w poprzednim przykładzie, można przewidywać wartości sprzedaży dla następnych dwóch miesięcy. Użyj formuły =TREND(C5:E5,,{4,5}), aby prognozować czwartą i piątą wartość w cyklu miesięcznym, biorąc pod uwagę pierwsze trzy wartości. PROGRAMOWANIE W VBA