MATLAB - Operatory
Operator to symbol, który mówi kompilatorowi, aby wykonał określone operacje matematyczne lub logiczne. MATLAB został zaprojektowany do działania przede wszystkim na całych macierzach i tablicach. Dlatego operatory w MATLAB-ie działają zarówno na danych skalarnych, jak i nieskalarnych. MATLAB pozwala na następujące typy podstawowych operacji -
- Operatory arytmetyczne
- Operatorzy relacyjni
- Operatory logiczne
- Operacje bitowe
- Operacje na zbiorach
Operatory arytmetyczne
MATLAB pozwala na dwa różne rodzaje operacji arytmetycznych -
- Operacje arytmetyczne na macierzach
- Operacje arytmetyczne na tablicach
Operacje arytmetyczne na macierzach są takie same, jak w algebrze liniowej. Operacje na tablicach są wykonywane element po elemencie, zarówno na jednowymiarowej, jak i wielowymiarowej tablicy.
Operatory macierzy i operatory tablicowe są rozróżniane za pomocą symbolu kropki (.). Jednak ponieważ operacje dodawania i odejmowania są takie same dla macierzy i tablic, operator jest taki sam w obu przypadkach. Poniższa tabela zawiera krótki opis operatorów -
Pokaż przykłady
Sr.No. | Operator i opis |
---|---|
1 | + Dodatek lub jednoargumentowy plus. A + B dodaje wartości przechowywane w zmiennych A i B. A i B muszą mieć ten sam rozmiar, chyba że jeden jest skalarem. Do macierzy o dowolnej wielkości można dodać skalar. |
2 | - Odejmowanie lub jednoargumentowy minus. AB odejmuje wartość B od A. A i B muszą mieć ten sam rozmiar, chyba że jeden jest skalarem. Z macierzy o dowolnej wielkości można odjąć skalar. |
3 | * Mnożenie macierzy. C = A * B jest liniowym iloczynem algebraicznym macierzy A i B. Dokładniej,
W przypadku nieskalarnych A i B liczba kolumn A musi być równa liczbie wierszy B. Skalar może pomnożyć macierz dowolnego rozmiaru. |
4 | .* Mnożenie tablicy. A. * B jest iloczynem element po elemencie tablic A i B. A i B muszą mieć ten sam rozmiar, chyba że jeden z nich jest skalarem. |
5 | / Ukośnik lub prawy podział macierzy. B / A jest mniej więcej tym samym, co B * inv (A). Dokładniej, B / A = (A '\ B') '. |
6 | ./ Prawidłowy podział tablicy. A./B to macierz z elementami A (i, j) / B (i, j). A i B muszą mieć ten sam rozmiar, chyba że jeden z nich jest skalarem. |
7 | \ Ukośnik odwrotny lub podział macierzy z lewej strony. Jeśli A jest macierzą kwadratową, A \ B jest mniej więcej tym samym, co inv (A) * B, z wyjątkiem tego, że jest obliczane w inny sposób. Jeżeli A oznacza grupę n-o-N matrycy i B jest wektorem kolumny z elementami N lub matryca z kilku takich kolumn, a X = A \ B jest rozwiązaniem równania AX = B . Komunikat ostrzegawczy jest wyświetlany, jeśli A jest źle wyskalowane lub prawie pojedyncze. |
8 | .\ Lewy podział tablicy. A. \ B to macierz z elementami B (i, j) / A (i, j). A i B muszą mieć ten sam rozmiar, chyba że jeden z nich jest skalarem. |
9 | ^ Moc matrycy. X ^ p jest X do potęgi p, jeśli p jest skalarem. Jeśli p jest liczbą całkowitą, moc obliczana jest przez powtórne podniesienie do kwadratu. Jeśli liczba całkowita jest ujemna, X jest odwracany jako pierwszy. W przypadku innych wartości p obliczenie obejmuje wartości własne i wektory własne, tak że jeśli [V, D] = eig (X), to X ^ p = V * D. ^ p / V. |
10 | .^ Moc tablicowa. A. ^ B to macierz z elementami A (i, j) do potęgi B (i, j). A i B muszą mieć ten sam rozmiar, chyba że jeden z nich jest skalarem. |
11 | ' Macierz transponowana. A 'jest liniową algebraiczną transpozycją A. W przypadku macierzy zespolonych jest to transpozycja sprzężona zespolona. |
12 | .' Tablica transponowana. ZA.' jest tablicą transpozycji A. W przypadku złożonych macierzy nie obejmuje to koniugacji. |
Operatorzy relacyjni
Operatory relacyjne mogą również pracować na danych skalarnych i nieskalarnych. Operatory relacyjne dla tablic wykonują porównania element po elemencie między dwiema tablicami i zwracają tablicę logiczną o tym samym rozmiarze, z elementami ustawionymi na logiczne 1 (prawda), gdzie relacja jest prawdziwa, a elementy ustawione na logiczne 0 (fałsz), gdzie jest nie.
Poniższa tabela przedstawia operatory relacyjne dostępne w MATLAB -
Pokaż przykłady
Sr.No. | Operator i opis |
---|---|
1 | < Mniej niż |
2 | <= Mniejszy lub równy |
3 | > Lepszy niż |
4 | >= Większe bądź równe |
5 | == Równy |
6 | ~= Nie równa się |
Operatory logiczne
MATLAB oferuje dwa typy operatorów logicznych i funkcji -
Pod względem elementów - operatory te działają na odpowiednich elementach tablic logicznych.
Zwarcie - te operatory działają na wyrażeniach skalarnych i logicznych.
Operatory logiczne oparte na elementach operują element po elemencie na tablicach logicznych. Symbole &, | i ~ to logiczne operatory tablicowe AND, OR i NOT.
Operatory logiczne zwarcia umożliwiają zwarcie w operacjach logicznych. Symbole && i || są logicznymi operatorami zwarć AND i OR.
Pokaż przykłady
Operacje bitowe
Operatory bitowe pracują na bitach i wykonują operacje bit po bicie. Tabele prawdy dla &, | i ^ są następujące -
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Załóżmy, że A = 60; i B = 13; Teraz w formacie binarnym będą one następujące -
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~ A = 1100 0011
MATLAB zapewnia różne funkcje dla operacji bitowych, takich jak operacje „bitowe i”, „bitowe lub” i „nie bitowe”, operacje przesunięcia itp.
W poniższej tabeli przedstawiono najczęściej używane operacje bitowe -
Pokaż przykłady
Funkcjonować | Cel, powód |
---|---|
bitand (a, b) | Bit-mądry AND liczb całkowitych a i b |
bitcmp (a) | Pod względem bitowym uzupełnienie pliku |
bitget (a, pos) | Pobierz bit w określonej pozycji pos , w tablicy liczb całkowitych a |
bitor (a, b) | Bit-mądry OR liczb całkowitych a i b |
zestaw bitów (a, pos) | Ustawiony bit na określonej lokalizacji poz od A |
przesunięcie bitowe (a, k) | Zwraca przesunął się w lewo przez k bitów, co odpowiada mnożenie przez 2 k . Ujemne wartości k odpowiadają przesunięciu bitów w prawo lub podzieleniu przez 2 | k | i zaokrąglenie do najbliższej liczby całkowitej w kierunku ujemnej nieskończoności. Wszelkie bity przepełnienia są obcinane. |
bitxor (a, b) | Bit-mądry XOR liczb całkowitych a i b |
swapbytes | Zamień kolejność bajtów |
Operacje na zbiorach
MATLAB zapewnia różne funkcje dla operacji na zbiorach, takie jak sumowanie, przecinanie i testowanie członkostwa w zestawie itp.
W poniższej tabeli przedstawiono niektóre często używane operacje na zbiorach -
Pokaż przykłady
Sr.No. | Opis funkcji |
---|---|
1 | intersect(A,B) Ustaw przecięcie dwóch tablic; zwraca wartości wspólne zarówno dla A, jak i B. Zwracane wartości są posortowane. |
2 | intersect(A,B,'rows') Traktuje każdy wiersz A i każdy wiersz B jako pojedyncze jednostki i zwraca wiersze wspólne dla obu A i B. Wiersze zwróconej macierzy są posortowane. |
3 | ismember(A,B) Zwraca tablicę tego samego rozmiaru co A, zawierającą 1 (prawda), gdzie elementy A znajdują się w B. W innym przypadku zwraca 0 (fałsz). |
4 | ismember(A,B,'rows') Traktuje każdy wiersz A i każdy wiersz B jako pojedyncze jednostki i zwraca wektor zawierający 1 (prawda), gdzie wiersze macierzy A są również wierszami B. W innym przypadku zwraca 0 (fałsz). |
5 | issorted(A) Zwraca logiczne 1 (prawda), jeśli elementy A są posortowane, a logiczne 0 (fałsz) w przeciwnym razie. Wejście A może być wektorem lub tablicą łańcuchów komórek N na 1 lub 1 na N.A is considered to be sorted if A a wyniki sortowania (A) są równe. |
6 | issorted(A, 'rows') Zwraca logiczną 1 (prawda), jeśli wiersze dwuwymiarowej macierzy A są posortowane, a logiczne 0 (fałsz) w przeciwnym razie. Matrix A is considered to be sorted if A a wyniki sortowania (A) są równe. |
7 | setdiff(A,B) Ustawia różnicę dwóch tablic; zwraca wartości w A, których nie ma w B. Wartości w zwróconej tablicy są posortowane. |
8 | setdiff(A,B,'rows') Traktuje każdy wiersz A i każdy wiersz B jako pojedyncze jednostki i zwraca wiersze z A, których nie ma w B. Wiersze zwróconej macierzy są posortowane. Opcja „wiersze” nie obsługuje tablic komórek. |
9 | setxor Ustawia wyłączne LUB dwóch tablic |
10 | union Ustawia sumę dwóch tablic |
11 | unique Unikalne wartości w tablicy |