Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> MATLAB

MATLAB — Операторы

Оператор — это символ, который указывает компилятору выполнять определенные математические или логические манипуляции. MATLAB предназначен для работы в первую очередь с целыми матрицами и массивами. Поэтому операторы в MATLAB работают как со скалярными, так и с нескалярными данными. MATLAB допускает следующие типы элементарных операций —

Арифметические операторы

MATLAB допускает два разных типа арифметических операций —

Матричные арифметические операции такие же, как и в линейной алгебре. Операции с массивами выполняются поэлементно, как на одномерном, так и на многомерном массиве.

Матричные операторы и операторы массива различаются символом точки (.). Однако, поскольку операции сложения и вычитания одинаковы для матриц и массивов, оператор одинаков для обоих случаев. В следующей таблице дано краткое описание операторов —

Показать примеры

<тд>

+

Сложение или унарный плюс. A+B складывает значения, хранящиеся в переменных A и B. A и B должны иметь одинаковый размер, если только они не являются скалярными. Скаляр можно добавить к матрице любого размера.

<тд>

-

Вычитание или унарный минус. A-B вычитает значение 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 плохо масштабируется или почти единственное.

<тд>

.\

Левое деление массива. 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. Для комплексных матриц это не требует сопряжения.

Сер.№ Оператор и описание
1
2
3
4
5
6
7
8
9
10
11
12

Операторы отношения

Реляционные операторы также могут работать как со скалярными, так и с нескалярными данными. Реляционные операторы для массивов выполняют поэлементное сравнение между двумя массивами и возвращают логический массив того же размера, с элементами, установленными на логическую 1 (истина), где отношение истинно, и элементами, установленными на логический 0 (ложь), где оно нет.

В следующей таблице показаны реляционные операторы, доступные в MATLAB —

Показать примеры

<тд>

<

Меньше чем

<тд>

<=

Меньше или равно

<тд>

>

Больше, чем

<тд>

>=

Больше или равно

<тд>

==

Равно

<тд>

~=

Не равно

Сер.№ Оператор и описание
1
2
3
4
5
6

Логические операторы

MATLAB предлагает два типа логических операторов и функций —

Поэлементные логические операторы работают поэлементно с логическими массивами. Символы &, | и ~ являются логическими операторами массива И, ИЛИ и НЕ.

Логические операторы короткого замыкания позволяют замыкать логические операции. Символы &&и || являются логическими операторами короткого замыкания И и ИЛИ.

Показать примеры

Побитовые операции

Побитовые операторы работают с битами и выполняют побитовые операции. Таблицы истинности для &, | и ^ следующие:

<тд>0 <тд>0 <тд>0 <тд>0 <тд>1 <тд>0 <тд>1 <тд>1 <тд>1 <тд>1 <тд>1 <тд>0 <тд>0 <тд>0 <тд>1 <тд>1
p q p &q p | д p ^ q
0
0
1
1

Предположим, если А =60; и В =13; Теперь в бинарном формате они будут такими —

А =0011 1100

Б =0000 1101

------------------

А&В =0000 1100

А|В =0011 1101

А^В =0011 0001

~А =1100 0011

MATLAB предоставляет различные функции для побитовых операций, таких как "побитовое И", "побитовое или" и "побитовое не", операция сдвига и т. д.

В следующей таблице показаны часто используемые побитовые операции —

Показать примеры

Функция Цель
бит и (а, б) Побитовое И целых чисел a и б
bitcmp(a) Побитовое дополнение a
bitget(a,pos) Получить бит в указанной позиции pos , в массиве целых чисел a
битор(а, б) Побитовое ИЛИ целых чисел a и б
bitset(a, pos) Установить бит в определенном месте pos а
битовый сдвиг(a, k) Возвращает a сдвинут влево на k бит, что эквивалентно умножению на 2 k . Отрицательные значения k соответствуют сдвигу битов вправо или делению на 2 |k| и округление до ближайшего целого числа в сторону отрицательной бесконечности. Любые биты переполнения усекаются.
bitxor(a, b) Побитовое исключающее ИЛИ целых чисел a и б
байты подкачки Поменять порядок байтов

Установить операции

MATLAB предоставляет различные функции для операций над множествами, таких как объединение, пересечение и проверка принадлежности к множеству и т. д.

В следующей таблице показаны некоторые часто используемые операции над множествами —

Показать примеры

<тд>

пересечение(A,B)

Установить пересечение двух массивов; возвращает значения, общие для A и B. Возвращаемые значения отсортированы по порядку.

<тд>

пересекать(A,B,'строки')

Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает строки, общие для A и B. Строки возвращаемой матрицы отсортированы.

<тд>

является членом(A,B)

Возвращает массив того же размера, что и A, содержащий 1 (истина), где элементы A находятся в B. В другом месте он возвращает 0 (ложь).

<тд>

является членом(A,B,'строки')

Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает вектор, содержащий 1 (истина), где строки матрицы A также являются строками матрицы B. В другом месте он возвращает 0 (ложь).

<тд>

отсортировано(A)

Возвращает логическую 1 (истина), если элементы A отсортированы, и логический 0 (ложь) в противном случае. Входные данные A могут быть вектором или массивом строк размером N на 1 или 1 на N. A считается отсортированным, если A и выходные данные sort(A) равны.

<тд>

отсортировано(A, 'строки')

Возвращает логическую 1 (истина), если строки двумерной матрицы A отсортированы, и логический 0 (ложь) в противном случае. Матрица A считается отсортированной, если A и выходные данные sortrows(A) равны.

<тд>

установить разн.(A,B)

Устанавливает разницу двух массивов; возвращает значения в A, которых нет в B. Значения в возвращаемом массиве отсортированы.

<тд>

setdiff(A,B,'строки')

Обрабатывает каждую строку A и каждую строку B как отдельные объекты и возвращает строки из A, которых нет в B. Строки возвращаемой матрицы отсортированы.

Опция rows не поддерживает массивы ячеек.

<тд>

setxor

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

<тд>

союз

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

<тд>

уникальный

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

Сер.№ Функция и описание
1
2
3
4
5
6
7
8
9
10
11

MATLAB

  1. Операторы С#
  2. Операторы С++
  3. Операторы программирования на C
  4. Операторы Python
  5. Операторы Java
  6. С - Операторы
  7. MATLAB — Обзор
  8. MATLAB — Переменные
  9. МАТЛАБ — Команды
  10. MATLAB — типы данных