English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Оператор - это символ, который сообщает компилятору выполнить определенную математическую или логическую операцию. MATLAB спроектирован для работы в основном на матрицах и массивах. Поэтому операторы в MATLAB могут обрабатывать как скалярные данные, так и не скалярные данные. MATLAB позволяет следующие типы базовых операций-
Арифметические операторы
Операторы отношений
Логические операторы
Битовые операторы
Операторы над集合ами
MATLAB позволяет два типа арифметических операций-
Арифметические операции матриц
Арифметические операции массивов
Арифметические операции матриц идентичны определенным в линейной алгебре. Операции массивов выполняются по одному элементу в одно维ном и многоугольном массиве.
Операторы матричных операций и операторы массивов различаются точкой (.) как символом. Однако, так как сложение и вычитание матриц и массивов одинаковы, операторы в обоих случаях одинаковы. В таблице кратко описаны операторы '-'
Примеры арифметических операторов
Номер | Операторы и их описание |
---|---|
1 | + Добавление или единичный символ '+' для сложения. Сложение A+B суммирует значения переменных A и B. A и B должны иметь одинаковый размер,除非 одна из них является скаляром. Скаляр можно добавить к матрице любого размера. |
2 | - Удаление или одностороннее удаление. A-B удаляет значение B из A. A и B должны иметь одинаковый размер, за исключением случая, когда одна из них является скаляром. Скаляр может быть удален из любой大小的 матрицы. |
3 | * Множение матриц. C=A*B является линейно-алгебраическим произведением матриц A и B. Больше того, Для не скалярных A и B, количество столбцов A должно быть равно количеству строк B. Скаляр может быть умножен на любую大小的 матрицу. |
4 | .* Умножение массива. A.*B является элементарным умножением массивов A и B. A и B должны иметь одинаковый размер, за исключением случая, когда одна из них является скаляром. |
5 | - Сложение или одностороннее вычитание. A-B вычитает значение B из A. A и B должны иметь одинаковый размер, за исключением случая, когда одна из них является скаляром. Скаляр может быть вычтен из любой大小的 матрицы. |
6 | ./ Правое деление массива. A./B является массивом, где элемент A(i,j) делится на B(i,j). A и B должны иметь одинаковый размер, за исключением случая, когда одна из них является скаляром. |
7 | \ Обратная косая или левое деление матрицы. Если A является квадратной матрицей, то A\B подобно inv(A)*B, только способ вычисления различается. Если A является n-ным на n-ным матрицей, а B является столбцом с n компонентами или матрицей, содержащей несколько таких столбцов, то X=A\B является решением уравнения AX=B. Если A значительно или почти является однородной, будет отображено сообщение о предупреждении. |
8 | .\ Левое деление массива. A.\B является массивом, где элемент B(i,j) делится на A(i,j). A и B должны иметь одинаковый размер, за исключением случая, когда одна из них является скаляром. |
9 | ^ Мощность матрицы. Если p является скаляром, то X^p является p-й степенью. Если p является целым числом, то степень вычисляется путём повторного squaring. Если целое число отрицательно, то X сначала вычисляется в обратном порядке. Для других значений p вычисление включает характеристические значения и характеристические векторы, поэтому если [V, D] = eig(X), то X^p = V*D.^p/V. |
10 | ^. Мощность массива. A.^B является массивом, где элемент A(i,j) поднят в степень B(i,j). A и B должны иметь одинаковый размер, за исключением случая, когда одна из них является скаляром. |
11 | ' Транспонирование матрицы. A' является линейной алгебраической транспозицией A. Для комплексных матриц это является комплексной транспозицией conjugate. |
12 | .' Транспонирование массива a' является транспонированием массива a. Для сложных матриц это не involves conjugate. |
Операторы отношений также могут обрабатывать скалярные и не скалярные данные. Операторы отношений массивов выполняют элементарное сравнение элементов двух массивов и возвращают массив логической величины того же размера, где элементы установлены в логическое 1 (true), если отношение true, и в логическое 0 (false), если не true.
В таблице показаны доступные в MATLAB операторы отношений-
Номер | Операторы и их описание |
---|---|
1 | < Меньше |
2 | <= Меньше или равно |
3 | > Больше |
4 | >= Больше или равно |
5 | == Равно |
6 | ~= Не равно |
MATLAB предоставляет два типа логических операторов и функций-
Элементарные операторы выполняют операции над соответствующими элементами логического массива.
Короткое замыкание - эти операторы выполняют операции с скалярами и логическими выражениями.}}
Логические операторы элементов выполняют операции с логическими массивами по одному элементу. Символы & & | и ~ являются логическими операторами массивов AND, OR и NOT.
Короткие логические операторы позволяют логическим операциям короткозамыкаться. Символы && и || являются логическими операторами короткозамыкания AND и OR.
Операторы с битами выполняют операции с битами и выполняют операции с каждым битом. Истина таблицы для & & и ^ такова:
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 |
Предположим, A = 60; и B = 13; теперь они будут показаны в двоичном формате так:
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
〜A = 1100 0011
MATLAB предоставляет различные функции для операций с битами, такие как операции 'битовое и', 'битовое или' и 'битовое не', а также операции сдвига.
В таблице ниже показаны некоторые常用ные операции с битами -
Функция | Действие |
---|---|
bitand(a, b) | Битовое и целых чисел a и b |
bitcmp(a) | Битовый комплемент a |
bitget(a,pos) | Получает бит в заданном положении pos в целом массиве a |
bitor(a, b) | Битовое или целых чисел a и b |
bitset(a, pos) | Устанавливает бит в аналогичное положение pos в a |
bitshift(a, k) | ВозвращаетодинСдвигом влевоķБит, эквивалентный умножению на 2 ķ.Отрицательное значение k соответствует правому сдвигу или делению на 2 | k | И к отрицательной бесконечности округляется до ближайшего целого числа.Любые избыточные биты будут обрезаны. |
bitxor(a, b) | Битовое исключение по модулю 2 целых чисел a и b |
swapbytes | Битовое исключение по модулю 2 целых чисел a и b |
MATLAB предоставляет различные функции для операций над集合ами, такие как объединение,交集 и тест на членство в集合е и т.д.
В таблице ниже показаны некоторые常用ные операции с установками -
Номер | Описание функции |
---|---|
1 | intersect(A,B) Устанавливает交集 двух массивов; возвращает общие значения A и B. Возвращаемые значения упорядочены. |
2 | intersect(A,B,'rows') Считает каждую строку A и каждую строку B как единую сущность и возвращает общие строки A и B. Строки матрицы возвращаются в порядке сортировки. |
3 | ismember(A,B) Возвращает массив, размером равный A, содержащий 1 (true), если элементы A находятся в B. В других местах он возвращает 0 (false). |
4 | ismember(A,B,'rows') Взять каждую строку массива A и каждую строку массива B за единичный объект и вернуть вектор, содержащий 1 (true), где строки матрицы A также являются строками массива B. В других местах возвращает 0 (false). |
5 | issorted(A) Вернуть логическое 1 (true), если элементы отсортированы по порядку, в противном случае вернуть логическое 0 (false). Входной массив A может быть вектором или строковым массивом 1×N или N×1. Если A и sort(A) имеют одинаковый вывод, то A считается отсортированным. |
6 | issorted(A, 'rows') Вернуть логическое 1 (true), если строки двумерной матрицы A отсортированы по порядку, в противном случае вернуть логическое 0 (false). Если A и sortrows(A) имеют одинаковый вывод, то матрица A считается отсортированной. |
7 | setdiff(A,B) Установить разницу между двумя массивами; вернуть значения, которые содержатся в массиве A, но не содержатся в массиве B. Значения массивов возвращаются в порядке сортировки. |
8 | setdiff(A,B,'rows') Взять каждую строку массива A и каждую строку массива B за единичный объект и вернуть строки массива A, которые не содержатся в массиве B. Строки матрицы возвращаются в порядке сортировки. Опция 'rows' не поддерживается для массивов с ячейками. |
9 | setxor Исключение или xor двух массивов |
10 | union Объединение двух массивов |
11 | unique Уникальные значения в массиве |