Оператор — это символ, который указывает компилятору выполнять определенные математические или логические манипуляции. MATLAB предназначен для работы преимущественно с целыми матрицами и массивами. Следовательно, операторы в MATLAB работают как со скалярными, так и нескалярными данными. MATLAB допускает следующие виды элементарных операций —
- Арифметические Операторы
- Операторы отношений
- Логические Операторы
- Побитовые операции
- Операции над множествами
Арифметические Операторы
MATLAB допускает два различных типа арифметических операций —
- Матричные арифметические операции
- Массив арифметических операций
Матричные арифметические операции аналогичны определенным в линейной алгебре. Операции с массивами выполняются поэлементно, как в одномерном, так и в многомерном массиве.
Матричные операторы и операторы массива дифференцируются символом точки (.). Однако, поскольку операция сложения и вычитания одинакова для матриц и массивов, оператор одинаков для обоих случаев. Следующая таблица дает краткое описание операторов —
Sr.No. | Оператор и описание |
---|---|
1 |
+ Дополнение или унарный плюс. A + B добавляет значения, хранящиеся в переменных A и B. A и B должны иметь одинаковый размер, если только один не является скаляром. Скаляр можно добавить в матрицу любого размера. |
2 |
— Вычитание или унарный минус. AB вычитает значение B из A. A и B должны иметь одинаковый размер, если только он не является скаляром. Скаляр можно вычесть из матрицы любого размера. |
3 |
* Матричное умножение. C = A * B — линейное алгебраическое произведение матриц A и B. Точнее, Для нескалярных A и B число столбцов в A должно быть равно количеству строк в B. Скаляр может умножить матрицу любого размера. |
4 |
. * Умножение массивов. A. * B — это поэлементное произведение массивов A и B. A и B должны иметь одинаковый размер, если только один из них не является скаляром. |
5 |
/ Косая черта или матрица правого деления. B / A примерно такой же, как B * inv (A). Точнее, 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. Предупреждающее сообщение отображается, если А плохо масштабировано или почти единственное число. |
8 |
. \ Массив покинул деление. A. \ B — матрица с элементами B (i, j) / A (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром. |
9 |
^ Матрица власти. X ^ p есть X в степени p, если p скаляр. Если p является целым числом, мощность вычисляется путем повторного возведения в квадрат. Если целое число отрицательно, 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. Для комплексных матриц это комплексная сопряженная транспонирование. |
12 |
«. Массив транспонировать. A.» это транспонирование массива A. Для сложных матриц это не связано с сопряжением. |
+
Дополнение или унарный плюс. A + B добавляет значения, хранящиеся в переменных A и B. A и B должны иметь одинаковый размер, если только один не является скаляром. Скаляр можно добавить в матрицу любого размера.
—
Вычитание или унарный минус. AB вычитает значение B из A. A и B должны иметь одинаковый размер, если только он не является скаляром. Скаляр можно вычесть из матрицы любого размера.
*
Матричное умножение. C = A * B — линейное алгебраическое произведение матриц A и B. Точнее,
Для нескалярных A и B число столбцов в A должно быть равно количеству строк в B. Скаляр может умножить матрицу любого размера.
. *
Умножение массивов. A. * B — это поэлементное произведение массивов A и B. A и B должны иметь одинаковый размер, если только один из них не является скаляром.
/
Косая черта или матрица правого деления. B / A примерно такой же, как B * inv (A). Точнее, B / A = (A ‘\ B’) ‘.
./
Массив правого деления. A./B — матрица с элементами A (i, j) / B (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
\
Обратная косая черта или матрица левого деления. Если A — квадратная матрица, A \ B — примерно то же самое, что inv (A) * B, за исключением того, что она вычисляется другим способом. Если A является матрицей n-на-n и B является вектором столбцов с n компонентами, или матрицей с несколькими такими столбцами, то X = A \ B является решением уравнения AX = B. Предупреждающее сообщение отображается, если А плохо масштабировано или почти единственное число.
. \
Массив покинул деление. A. \ B — матрица с элементами B (i, j) / A (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
^
Матрица власти. X ^ p есть X в степени p, если p скаляр. Если p является целым числом, мощность вычисляется путем повторного возведения в квадрат. Если целое число отрицательно, X инвертируется первым. Для других значений p в расчет включаются собственные значения и собственные векторы, например, если [V, D] = eig (X), то X ^ p = V * D. ^ p / V.
. ^
Массив власти. A. ^ B — это матрица с элементами A (i, j) степени B (i, j). A и B должны иметь одинаковый размер, если только один из них не является скаляром.
‘
Матрица транспонировать. A ‘- линейная алгебраическая транспонирование A. Для комплексных матриц это комплексная сопряженная транспонирование.
«.
Массив транспонировать. A.» это транспонирование массива A. Для сложных матриц это не связано с сопряжением.
Операторы отношений
Реляционные операторы также могут работать как со скалярными, так и с нескалярными данными. Реляционные операторы для массивов выполняют поэлементное сравнение двух массивов и возвращают логический массив одинакового размера с элементами, установленными в логическое 1 (истина), где отношение истинно, и элементами, установленными в логическое 0 (ложь), где оно не.
В следующей таблице показаны реляционные операторы, доступные в MATLAB.
Sr.No. | Оператор и описание |
---|---|
1 |
< Меньше, чем |
2 |
<= Меньше или равно |
3 |
> Лучше чем |
4 |
> = Больше или равно |
5 |
== Равно |
6 |
~ = Не равно |
<
Меньше, чем
<=
Меньше или равно
>
Лучше чем
> =
Больше или равно
==
Равно
~ =
Не равно
Логические Операторы
MATLAB предлагает два типа логических операторов и функций —
-
Поэлементный — Эти операторы работают с соответствующими элементами логических массивов.
-
Короткое замыкание — эти операторы работают со скалярными и логическими выражениями.
Поэлементный — Эти операторы работают с соответствующими элементами логических массивов.
Короткое замыкание — эти операторы работают со скалярными и логическими выражениями.
Поэлементные логические операторы работают поэлементно на логических массивах. Символы &, | и ~ являются операторами логических массивов И, ИЛИ и НЕ.
Логические операторы короткого замыкания допускают короткое замыкание на логических операциях. Символы && и || являются логическими операторами короткого замыкания И и ИЛИ.
Побитовые операции
Битовые операторы работают с битами и выполняют побитовые операции. Таблицы истинности для &, | и ^ следующие:
п | Q | P & Q | р | Q | р ^ д |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Предположим, если А = 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 предоставляет различные функции для побитовых операций, таких как «побитовое и», «побитовое или» и «побитовое не», операция сдвига и т. Д.
В следующей таблице приведены часто используемые побитовые операции —
функция | Цель |
---|---|
Битанд (а, б) | Побитовое И целых чисел А и В |
bitcmp (а) | Побитовое дополнение |
BITGET (а, позы) | Получить бит в указанной позиции pos , в целочисленном массиве a |
битор (а, б) | Побитовое ИЛИ целых чисел a и b |
bitset (a, pos) | Установить бит в определенном месте поз |
битное смещение (а, к) | Возвращает смещение влево на k бит, что эквивалентно умножению на 2 k . Отрицательные значения k соответствуют сдвигу битов вправо или делению на 2 | k | и округление до ближайшего целого числа в сторону отрицательного бесконечного. Все биты переполнения усекаются. |
битксор (а, б) | Побитовое XOR целых чисел a и b |
swapbytes | Порядок замены байт |
Операции над множествами
MATLAB предоставляет различные функции для операций над множествами, такие как объединение, пересечение и тестирование для множества множеств и т. Д.
В следующей таблице приведены некоторые часто используемые операции над множествами:
пересекаются (А, В)
Установить пересечение двух массивов; возвращает значения, общие для A и B. Возвращаемые значения находятся в отсортированном порядке.
пересекаются (A, B, ‘строки’)
Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает строки, общие как для A, так и для B. Строки возвращенной матрицы расположены в отсортированном порядке.
IsMember (А, В)
Возвращает массив того же размера, что и A, содержащий 1 (true), где элементы A находятся в B. В других местах он возвращает 0 (false).
IsMember (A, B, ‘строк’)
Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает вектор, содержащий 1 (true), где строки матрицы A также являются строками B. В другом месте возвращается 0 (false).
issorted (А)
Возвращает логическое 1 (истина), если элементы A расположены в отсортированном порядке, и логическое 0 (ложь) в противном случае. Вход A может быть вектором или массивом строк размером 1 на 1 или 1 на N. A считается отсортированным, если A и выходные данные сортировки (A) равны.
issorted (A, ‘row’)
Возвращает логическое 1 (истина), если строки двумерной матрицы A расположены в отсортированном порядке, и логическое 0 (ложь) в противном случае. Матрица A считается отсортированной, если A и выходные данные sortrows (A) равны.
setdiff (А, В)
Устанавливает разницу двух массивов; возвращает значения в A, которых нет в B. Значения в возвращенном массиве расположены в отсортированном порядке.
setdiff (А, В, ‘строк’)
Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает строки из A, которых нет в B. Строки возвращенной матрицы расположены в отсортированном порядке.
Опция ‘rows’ не поддерживает массивы ячеек.
setxor
Устанавливает эксклюзивное ИЛИ из двух массивов
союз
Устанавливает объединение двух массивов
уникальный
Уникальные значения в массиве