English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Операторы MATLAB

Оператор - это символ, который сообщает компилятору выполнить определенную математическую или логическую операцию. 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.

Примеры логических операций

Операции с битами

Операторы с битами выполняют операции с битами и выполняют операции с каждым битом. Истина таблицы для & & и ^ такова:

pqp&qp | qp ^ Q
00000
01011
11110
10011

Предположим, 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

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