Funkcje macierzowe (MATRIX-END MATRIX, komenda)
W programie macierzowym dostępne są następujące funkcje. Z wyjątkiem przypadku, gdy jest to zauważalne, każda z nich pobiera jedną lub więcej macierzy numerycznych jako argumenty i zwraca wartość macierzy jako wynik. Argumenty muszą być ujęte w nawiasy, a wiele argumentów musi być oddzielone przecinkami.
Na poniższej liście argumenty macierzy są reprezentowane przez nazwy rozpoczynające się od M. Jeśli nie podano inaczej, argumenty te mogą być wektorami lub skalarkami. Argumenty, które muszą być wektorami, są reprezentowane przez nazwy rozpoczynające się od W, a argumenty, które muszą być skalarami, są reprezentowane przez nazwy rozpoczynające się od S.
ABS (M). Wartość bezwzględna. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach, co argument, zawierający wartości bezwzględne jego elementów.
WSZYSTKIE (M). Test dla wszystkich elementów niezerowych. Przyjmuje jeden argument. Zwraca wartość skalarną: 1, jeśli wszystkie elementy argumentu są niezerowe, a 0, jeśli dowolny element ma wartość zero.
DOWOLNY (M). Test dla dowolnego elementu niezerowego. Przyjmuje jeden argument. Zwraca wartość skalarną: 1, jeśli dowolny element argumentu jest niezerowy, a 0, jeśli wszystkie elementy są równe zero.
ARSIN (M). Odwrócona sinusoida. Przyjmuje jeden argument, którego elementy muszą być między − 1 i 1. Zwraca macierz o tych samych wymiarach, co argument, zawierający odwrotne siny (arcus sinus) jej elementów. Wyniki są w radianach i znajdują się w zakresie od −π/2 do π/2.
ARTAN (M). Odwróć tangens. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach, co argument, zawierający odwrotne tangenty (arktangenty) jej elementów, w radianach. Aby przekształcić radiany w stopnie, należy pomnożyć je przez 180 /π, co można obliczyć jako 45/ARTAN(1). Na przykład instrukcja COMPUTE DEGREES=ARTAN(M)*45/ARTAN(1) zwraca macierz zawierającą odwrotne tangenty w stopniach.
BLOCK (M1,M2, ...). Utwórz macierz przekątnej bloku. Pobiera dowolną liczbę argumentów. Zwraca macierz z tak wieloma wierszami jak suma wierszy we wszystkich argumentach, a tyle kolumn jako suma kolumn we wszystkich argumentach, z argumentem macierze w dół o przekątnej i zerach gdzie indziej.
CHOL (M). Dekompozycja cholewa. Przyjmuje jeden argument, który musi być symetryczną matrycą o dodatniej wartości dodatniej (macierz kwadratowa, symetryczna o głównej przekątnej, z dodatnimi wartościami eigenwartościami). Zwraca macierz o tych samych wymiarach co argument. Jeśli M jest macierzą symetryczną z dodatnim wynikiem, a B=CHOL(M), a następnie T(B) * B=M, gdzie T jest funkcją transponowania zdefiniowaną poniżej.
CMAX (M). Kolumna maxima. Przyjmuje jeden argument. Zwraca wektor wiersza z taką samą liczbą kolumn, jak argument. Każda kolumna wyniku zawiera maksymalną wartość odpowiedniej kolumny argumentu.
CMIN (M). Minima kolumny. Przyjmuje jeden argument. Zwraca wektor wiersza z taką samą liczbą kolumn, jak argument. Każda kolumna wyniku zawiera minimalną wartość odpowiedniej kolumny argumentu.
COS (M). Cosines. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach, co argument, zawierający cosinów elementów argumentu. Zakłada się, że elementy macierzy argumentów mierzą się w radianach. Aby przekształcić stopnie w radiany, należy pomnożyć przez π/180, który można obliczyć jako ARTAN (1 )/45. Na przykład instrukcja COMPUTE COSINES=COS(DEGREES*ARTAN(1)/45) zwraca cosinów z macierzy zawierającej elementy zmierzone w stopniach.
CSSQ (M). Sumy kwadratów kolumn. Przyjmuje jeden argument. Zwraca wektor wiersza z taką samą liczbą kolumn, jak argument. Każda kolumna wyniku zawiera sumę kwadratów wartości elementów w odpowiedniej kolumnie argumentu.
CSUM (M). Sumy kolumn. Przyjmuje jeden argument. Zwraca wektor wiersza z taką samą liczbą kolumn, jak argument. Każda kolumna wyniku zawiera sumę elementów w odpowiedniej kolumnie argumentu.
PROJEKT (M). Główna macierz efektów-macierz z kolumn macierzy. Przyjmuje jeden argument. Zwraca macierz o takiej samej liczbie wierszy, jak argument, oraz tyle, ile kolumn jest sumą liczb unikalnych wartości w każdej kolumnie argumentu. Kolumny stałe w argumencie są pomijane przy użyciu komunikatu ostrzegawczego. Wynik zawiera 1 w wierszu (-ach), w którym wartość, o której mowa występuje w argumencie, a 0 w przeciwnym razie.
DET (M). Wyznacznik. Przyjmuje jeden argument, który musi być matrycą kwadratową. Zwraca skalar, który jest wyznacznikiem argumentu.
DIAG (M). Przekątna macierzy. Przyjmuje jeden argument. Zwraca wektor kolumny z liczbą wierszy jako minimalną liczbą wierszy i liczbą kolumn w argumencie. i. Element wyniku jest wartością w wierszu i, kolumnie i argumentu.
EOF (plik). Indykator końca pliku. Zwykle używany po instrukcji READ . Przyjmuje pojedynczy argument, który musi być nazwą pliku w cudzysłowie lub uchwytem pliku zdefiniowanym w komendzie FILE HANDLE , która poprzedza program macierzy. Zwraca wartość skalarną równą 1, jeśli ostatnia próba odczytania tego pliku napotkała ostatni rekord w pliku, i jest równa 0, jeśli ostatnia próba nie napotkała ostatniego rekordu w pliku. Wywołanie funkcji EOF powoduje, że specyfikacja REREAD w instrukcji READ zostanie zignorowana przy kolejnej próbie odczytania pliku.
EVAL (M). Wartości własne macierzy symetrycznej. Przyjmuje jeden argument, który musi być macierzą symetryczną. Zwraca wektor kolumnowy o takiej samej liczbie wierszy, jak argument, zawierający wartości własne argumentu w malejącej kolejności liczbowej.
EXP (M). Podstawowe informacje o elementach macierzy. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach, co argument, w którym każdy element jest równy e podniesiony do potęgi odpowiadającego mu elementu w macierzy argumentów.
GINV (M). Moore-Penrose uogólniona odwrotność matrycy. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach, co transpozycja argumentu. Jeśli A to uogólniony odwrotność macierzy M, a następnie M* A* M=M i A* M* A=A. Zarówno A* M , jak i M* A są symetryczne.
GRADE (M). Klasyfikuje elementy w macierzy. Przyjmuje jeden argument. Używa sekwencyjnych liczb całkowitych dla powiązań.
GSCH (M). Gram-Schmidt ortopormal podstawy przestrzeni rozciągniętej przez wektorów kolumn matrycy. Przyjmuje jeden argument, w którym musi istnieć tyle liniowo niezależnych kolumn, jak w wierszach. (Oznacza to, że ranga argumentu musi być równa liczbie wierszy). Zwraca macierz kwadratową z wieloma wierszami jako argumentem. Kolumny wyniku stanowią podstawę dla obszaru, który jest rozciągany przez kolumny argumentu.
IDENT (S1 [,S2]). Utwórz macierz tożsamości. Należy użyć jednego lub dwóch argumentów, które muszą być skalarami. Zwraca macierz z wieloma wierszami jako pierwszy argument i tyle kolumn, ile jest drugim argumentem, jeśli istnieje. Jeśli drugi argument zostanie pominięty, wynikiem jest macierz kwadratowa. Elementy na głównej przekątnej wyniku są równe 1, a wszystkie pozostałe elementy równe 0.
INV (M). Odwrotność macierzy. Przyjmuje jeden argument, który musi być kwadratowy i niepojedyńczy (czyli jego wyznacznik nie może mieć wartości 0). Zwraca macierz kwadratową o tych samych wymiarach co argument. Jeśli A jest odwrotną wersją M, to M* A = A* M=I, gdzie I jest macierzą tożsamości.
KRONEKER (M1,M2).
A(1,1)*B A(1,2)* B ... A(1,N) *B
A(2,1)*B A(2,2)* B ... A(2,N) * B
...
A(M, 1) *B A(M, 2) *B ... A(M, N)*B
LG10(M). Podstawowe 10 logarytmów elementów. Przyjmuje jeden argument, którego wszystkie elementy muszą być dodatnie. Zwraca macierz o tych samych wymiarach co argument, w którym każdy element jest logarytm do podstawy 10 odpowiadającego mu elementu argumentu.
LN (M). Naturalne logarytmy pierwiastków. Przyjmuje jeden argument, którego wszystkie elementy muszą być dodatnie. Zwraca macierz o tych samych wymiarach, co argument, w którym każdy element jest logarytmem podstawy e odpowiadającego mu elementu argumentu.
MAGIC (S). Magiczny kwadrat. Przyjmuje pojedynczy skalar, który musi być 3 lub większy, jako argument. Zwraca macierz kwadratową z wierszami S i kolumnami S zawierającymi liczby całkowite z zakresu od 1 do S 2. Wszystkie sumy wierszy i wszystkie sumy kolumn są równe w macierzy wyników. (Macierz wyników jest tylko jednym z kilku możliwych magicznych kwadratów.)
MAKE (S1,S2,S3). Utwórz macierz, której wszystkie elementy są równe określonej wartości. Przyjmuje trzy skalary jako argumenty. Zwraca macierz S1 × S2, której wszystkie elementy są równe S3.
MDIAG (V). Utwórz macierz kwadratową o określonej głównej przekątnej. Przyjmuje pojedynczy wektor jako argument. Zwraca macierz kwadratową z tak wieloma wierszami i kolumnami jak wymiar wektora. Elementy wektora pojawiają się na głównej przekątnej macierzy, a pozostałe elementy macierzy są wszystkie 0.
MMAX (M). Maksymalny element w macierzy. Przyjmuje jeden argument. Zwraca skalar równy numerycznie największym elementowi w argumencie M.
MMIN (M). Minimalny element w macierzy. Przyjmuje jeden argument. Zwraca skalar równy numerycznie najmniejszym elementowi w argumencie M.
MOD (M, S). Pozostałości po podziale przez skalar. Pobiera dwa argumenty: macierz i skalarną (nie może być to wartość 0). Zwraca macierz o tych samych wymiarach co M, z których każdy jest pozostałą częścią po rozdzielaniu odpowiadającego mu elementu M przez S. Znak każdego elementu wyniku jest taki sam, jak znak odpowiedniego elementu w argumencie macierzy M.
MSSQ (M). Macierz sum kwadratów. Przyjmuje jeden argument. Zwraca skalar, który jest równy sumie kwadratów wartości wszystkich elementów w argumencie.
MSUM (M). Suma macierzy. Przyjmuje jeden argument. Zwraca skalar, który jest równy sumie wszystkich elementów w argumencie.
NCOL (M). Liczba kolumn w macierzy. Przyjmuje jeden argument. Zwraca skalar, który jest równy liczbie kolumn w argumencie.
NROW (M). Liczba wierszy w macierzy. Przyjmuje jeden argument. Zwraca skalar, który jest równy liczbie wierszy w argumencie.
RANK (M). Ranga macierzy. Przyjmuje jeden argument. Zwraca skalar, który jest równy liczbie liniowo niezależnych wierszy lub kolumn w argumencie.
RESHAPE (M,S1,S2). Macierz o różnych wymiarach. Pobiera trzy argumenty, macierz i dwie skalary, których produkt musi być równy liczbie elementów w macierzy. Zwraca macierz, której wymiary są podane w argumentach skalarnych. Na przykład, jeśli M jest dowolną macierzą z dokładnie 50 elementami, to RESHAPE(M, 5, 10) jest macierzą z 5 wierszami i 10 kolumnami. Elementy są przypisywane do macierzy ukształtowanej w kolejności według wierszy.
RMAX (M). Wiersz maxima. Przyjmuje jeden argument. Zwraca wektor kolumny o takiej samej liczbie wierszy, jak argument. Każdy wiersz wyniku zawiera maksymalną wartość odpowiedniego wiersza argumentu.
RMIN (M). Minima wiersza. Przyjmuje jeden argument. Zwraca wektor kolumny o takiej samej liczbie wierszy, jak argument. Każdy wiersz wyniku zawiera minimalną wartość odpowiedniego wiersza argumentu.
RND (M). Elementy zaokrąglone do najbliższej liczby całkowitej. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach co argument. Każdy element wyniku jest równy odpowiedniowi tego argumentu zaokrąglonego do liczby całkowitej.
RNKORDER (M). Ranking elementów macierzy w porządku rosnącym. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach co argument M. Najmniejszy element argumentu odpowiada elementowi wynikowym 1, a największy element argumentu do elementu wynikowego równego liczbie elementów, z tym że powiązania (równe elementy w programie M) są rozstrzygane przez przypisanie rangi równej średniej arytmetycznej dla odpowiednich obszarów macierzy RAID.
RSSQ (M). Sumy wierszy kwadratów. Przyjmuje jeden argument. Zwraca wektor kolumny o takiej samej liczbie wierszy, jak argument. Każdy wiersz wyniku zawiera sumę kwadratów wartości elementów w odpowiednim wierszu argumentu.
RSUM (M). Sumy wierszy. Przyjmuje jeden argument. Zwraca wektor kolumny o takiej samej liczbie wierszy, jak argument. Każdy wiersz wyniku zawiera sumę elementów w odpowiednim wierszu argumentu.
SIN (M). Sines. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach, co argument, zawierający siny elementów argumentu. Zakłada się, że elementy macierzy argumentów mierzą się w radianach. Aby przekształcić stopnie w radiany, należy pomnożyć przez π/180, który można obliczyć jako ARTAN (1 )/45. Na przykład, instrukcja COMPUTE SINES=SIN(DEGREES*ARTAN(1)/45) oblicza sinus z macierzy zawierającej elementy mierzone w stopniach.
SOLVE (M1,M2). Rozwiązanie układów równań liniowych. Przyjmuje dwa argumenty, z których pierwsza musi być kwadratowa i nieosobliwa (jej wyznacznik musi mieć wartość niezerową), a druga musi mieć taką samą liczbę wierszy, jak pierwsza. Zwraca macierz o tych samych wymiarach, co drugi argument. Jeśli M1*X=M2, a następnie X= SOLVE(M1, M2). W efekcie funkcja ta ustawia wynik X równy INV(M1) *M2.
SQRT (M). Pierwiastki kwadratowe pierwiastków. Przyjmuje jeden argument, którego elementy nie mogą być ujemne. Zwraca macierz o tych samych wymiarach, co argumenty, których elementy są dodatnimi pierwiastkami kwadratowymi odpowiednich elementów argumentu.
SSCP (M). Sumy kwadratów i produktów krzyżowych. Przyjmuje jeden argument. Returns a square matrix having as many rows (and columns) as the argument has columns. SSCP ( M ) equals T ( M )*M, where T is the transpose function defined below.
SVAL (M). Pojedyncze wartości macierzy. Przyjmuje jeden argument. Zwraca wektor kolumnowy zawierający tyle wierszy, ile jest minimum liczby wierszy i kolumn w argumencie, zawierających liczby pojedynczej wartości argumentu w malejącej kolejności liczbowej. The singular values of a matrix M are the square roots of the eigenvalues of T ( M )*M, where T is the transpose function discussed below.
SWEEP (M, S).
Zamiatana transformacja macierzy. Przyjmuje dwa argumenty, macierz i skalar, które muszą być mniejsze lub równe zarówno liczbie wierszy, jak i liczbie kolumn macierzy. Innymi słowy, element przestawiający macierzy, czyli M(S,S), musi istnieć. Zwraca macierz o tych samych wymiarach co M. Załóżmy, że S= { k} i A = SWEEP(M,S). Jeśli wartość M(k, k) nie jest równa 0,
A(k,k) = 1/M(k,k)
A(i,k) = −M(i,k)/M(k,k), dla i nie równa się k
A(k,j) = M(k,j)/M(k,k), dla j nie równa się k
A(i,j) = (M(i,j) *M(k,k), − M(i,k)*M(k,j))/M(k,k), dla i, j nie równa się k
i jeśli M(k, k) równa się 0, to
A(i,k) = A(k,i) = 0, dla wszystkich i
A(i,j) = M(i,j), dla i, j nie równa się k
DANE ŚLEDZENIA (M). Suma głównych elementów diagonalnych. Przyjmuje jeden argument. Zwraca skalar, który jest równy sumie elementów na głównej przekątnej argumentu.
TRANSPOS (M). Transponowanie macierzy. Przyjmuje jeden argument. Zwraca transpozycję argumentu. TRANSPOS może zostać skrócony do T.
TRUNC (M). Obcinanie elementów do liczb całkowitych. Przyjmuje jeden argument. Zwraca macierz o tych samych wymiarach, co argument, których elementy są równe odpowiedniom argumentów obciętych do liczb całkowitych.
UNIFORM (S1,S2). Równomiernie rozmieszczone liczby pseudolosowe w zakresie od 0 do 1. Przyjmuje dwie skalary jako argumenty. Zwraca macierz z liczbą wierszy określoną przez pierwszy argument, a liczbą kolumn określonych przez drugi argument, zawierających liczby pseudolosowe równomiernie rozdzielone między 0 i 1. Funkcja szanuje ustawienia tradycyjne kontra twister i materiał siewny dla odpowiedniego generatora.