MATLAB - Операторы
Оператор - это символ, который сообщает компилятору о необходимости выполнения определенных математических или логических операций. 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, за исключением того, что вычисляется другим способом. Если А является п-по-п матрицы и В представляет собой вектор - столбец с п компонентами, или матрицу с несколькими такими столбцами, то Х = А \ В является решением уравнения AX = B . Предупреждающее сообщение отображается, если A плохо масштабирован или почти единичный. |
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. Для сложных матриц это не требует сопряжения. |
Операторы отношения
Операторы отношения также могут работать как с скалярными, так и с нескалярными данными. Операторы отношения для массивов выполняют поэлементное сравнение между двумя массивами и возвращают логический массив того же размера с элементами, установленными на логическую 1 (истина), где отношение истинно, и элементами, установленными на логический 0 (ложь), где это не.
В следующей таблице показаны реляционные операторы, доступные в MATLAB -
Показать примеры
Sr. No. | Оператор и описание |
---|---|
1 | < Меньше, чем |
2 | <= Меньше или равно |
3 | > Лучше чем |
4 | >= Больше или равно |
5 | == Равно |
6 | ~= Не равно |
Логические операторы
MATLAB предлагает два типа логических операторов и функций -
Поэлементно - эти операторы работают с соответствующими элементами логических массивов.
Короткое замыкание - эти операторы работают со скалярными и логическими выражениями.
Поэлементные логические операторы работают с логическими массивами поэлементно. Символы &, | и ~ являются операторами логического массива И, ИЛИ и НЕ.
Логические операторы короткого замыкания позволяют замыкать логические операции. Символы && и || - логические операторы короткого замыкания И и ИЛИ.
Показать примеры
Побитовые операции
Побитовые операторы работают с битами и выполняют побитовые операции. Таблицы истинности для &, | и ^ следующие:
п | 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; Теперь в двоичном формате они будут такими:
А = 0011 1100
В = 0000 1101
-----------------
A&B = 0000 1100
А | В = 0011 1101
A ^ B = 0011 0001
~ А = 1100 0011
MATLAB предоставляет различные функции для побитовых операций, таких как операции «побитовое и», «побитовое или» и «побитовое не», операция сдвига и т. Д.
В следующей таблице показаны часто используемые побитовые операции -
Показать примеры
Функция | Цель |
---|---|
битанд (а, б) | Побитовое И целых чисел a и b |
bitcmp (а) | Двоичное дополнение а |
bitget (a, pos) | Получить бит в указанной позиции pos в целочисленном массиве a |
битор (а, б) | Побитовое ИЛИ целых чисел a и b |
bitset (a, pos) | Набор бит в определенном месте поз из а |
битовый сдвиг (а, к) | Возвращает сдвинуто влево на K битов, что эквивалентно умножению на 2 к . Отрицательные значения k соответствуют сдвигу битов вправо или делению на 2 | k | и округление до ближайшего целого числа в сторону отрицательной бесконечности. Любые биты переполнения усекаются. |
bitxor (а, б) | Побитовое исключающее ИЛИ целых чисел a и b |
swapbytes | Поменять местами порядок байтов |
Установить операции
MATLAB предоставляет различные функции для операций с множеством, такие как объединение, пересечение и проверка принадлежности к множеству и т. Д.
В следующей таблице показаны некоторые часто используемые операции с наборами -
Показать примеры
Sr. No. | Описание функции |
---|---|
1 | intersect(A,B) Установить пересечение двух массивов; возвращает значения, общие для A и B. Возвращаемые значения отсортированы. |
2 | intersect(A,B,'rows') Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает строки, общие для A и B. Строки возвращенной матрицы отсортированы. |
3 | ismember(A,B) Возвращает массив того же размера, что и A, содержащий 1 (истина), где элементы A находятся в B. В другом месте он возвращает 0 (ложь). |
4 | ismember(A,B,'rows') Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает вектор, содержащий 1 (истина), где строки матрицы A также являются строками B. В другом месте он возвращает 0 (ложь). |
5 | issorted(A) Возвращает логическую 1 (истина), если элементы A находятся в отсортированном порядке, и логический 0 (ложь) в противном случае. Вход A может быть вектором или массивом ячеек N на 1 или 1 на N строк.A is considered to be sorted if A и выход sort (A) равны. |
6 | issorted(A, 'rows') Возвращает логическую 1 (истина), если строки двумерной матрицы A находятся в отсортированном порядке, и логический 0 (ложь) в противном случае. Matrix A is considered to be sorted if A и результат сортировки (A) равен. |
7 | setdiff(A,B) Устанавливает разницу двух массивов; возвращает значения в A, которых нет в B. Значения в возвращаемом массиве отсортированы. |
8 | setdiff(A,B,'rows') Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает строки из A, которых нет в B. Строки возвращенной матрицы расположены в отсортированном порядке. Параметр "rows" не поддерживает массивы ячеек. |
9 | setxor Устанавливает исключающее ИЛИ двух массивов |
10 | union Устанавливает объединение двух массивов |
11 | unique Уникальные значения в массиве |