Учебники

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, за исключением того, что она вычисляется другим способом. Если 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

Устанавливает эксклюзивное ИЛИ из двух массивов

союз

Устанавливает объединение двух массивов

уникальный

Уникальные значения в массиве