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

Логические операции MATLAB

Операторы Matlab

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

  • Элементарно - эти операторы выполняют операции над соответствующими элементами логического массива.

  • Короткое замыкание - эти операторы выполняют операции над скалярными логическими выражениями.

Операторы логических операций на отдельных элементах выполняют операции на отдельных элементах логического массива. Символы &، | и ~ являются операторами логических массивных операций AND, OR и NOT.

Операторы короткого замыкания логических операций позволяют производить логические операции короткого замыкания. Символы && и || являются операторами короткого замыкания логических операций AND и OR.

Онлайн пример

Создайте файл скрипта и введите следующий код-

a = 5;
b = 20;
   if ( a && b )
      disp('Строка 1 - Условие истины');
   end
   if ( a || b )
      disp('Line 2 - Condition is true');
   end
   
   % lets change the value of a and b 
   a = 0;
   b = 10;
   
   if ( a && b )
      disp('Line 3 - Condition is true');
   else
      disp('Line 3 - Condition is not true');
   end
   
   if (~ (a && b))
   
      disp('Line 4 - Condition is true');
   end
Когда вы запустите файл, он создаст следующие результаты-
Line 1 - Condition is true
Line 2 - Condition is true
Line 3 - Condition is not true
Line 4 - Condition is true

Функции логических операций

Кроме упомянутых логических операторов, MATLAB также предоставляет следующие команды или функции для той же цели-

НомерОписание функции
1

and(A, B)

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

2

not(A)

Поиск логического НЕ для массива или скалярного ввода; выполняет логическое НЕ для входного массива A и возвращает массив, содержащий элементы, установленные в логическое 1 (true) или логическое 0 (false). Если в одном и том же месте входного массива содержится нулевое значение, то элемент выходного массива устанавливается в 1. В противном случае элемент устанавливается в 0.

3

or(A, B)

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

4

xor(A, B)

Логическое исключающее ИЛИ; выполняет исключающее ИЛИ для соответствующих элементов массивов A и B. Если A(i,j,...) или B(i,j,...), но не оба не равны нулю.

5

all(A)

Определить, все ли элементы массива A не равны нулю или true.

  • Если A является вектором, then all(A) возвращает логическое 1 (истина), если все элементы не равны нулю,否则 возвращает логическое 0 (ложь).

  • Если A не пустой массив, то столбцы Aall(A) рассматриваются как векторы и возвращается строка из логических 1 и 0.

  • Если A является пустым 0×0 массивом, то all(A) возвращает логическое 1 (истина).

  • Если A является много мерным массивом, то all(A) выполняет операцию по первой неодинаковой размерности и возвращает массив логических значений. Размерность уменьшается до 1, а все другие размеры сохраняются.

6

all(A, dim)

по скаляруdimтестирование указанных размеров A.

7

any(A)

Определяет, содержит ли любой элемент массива nonzero; в противном случае 0. Тестирует, являются ли любые элементы массива nonzero числами или логическим 1 (истина). Функция any игнорирует значения NaN (нечисловые).

  • Если A является вектором, то если any(A) любого элемента не равен нулю или логическому 1 (истина), то возвращается логическое 1 (истина), если все элементы равны нулю, то возвращается логическое 0 (ложь).

  • Если A не пустой массив, то столбцы Aany(A) рассматриваются как векторы и возвращается строка из логических 1 и 0.

  • Если A является пустым 0×0 массивом, то any(A) возвращает логическое 0 (ложь).

  • Если A является много мерным массивом, то any(A) выполняет операцию по первой неодинаковой размерности и возвращает массив логических значений. Размерность уменьшается до 1, а все другие размеры сохраняются.

8

any(A,dim)

по скаляруdimтестирование указанных размеров A.

9

false

логическое 0(false)

10

false(n)

является логическим массивом с нулевыми значениями размером nbyn.

11

false(m, n)

является логическим массивом с нулевыми значениями размером m×n.

12

false(m, n, p, ...)

является логическим массивом с нулевыми значениями размером m×n×p×...。

13

false(size(A))

является логическим массивом с нулевыми значениями, размером равным массиву A.

14

false(...,'like',p)

является логическим массивом с тем же типом данных и спarsity, что и логический массив p.

15

ind  = find(X)

Ищет индексы и значения nonzero элементов; находит все nonzero элементы массива X и возвращает их линейные индексы в векторе. Если X является векторной строкой, то возвращаемый вектор также является векторной строкой; в противном случае, возвращается X. В противном случае, возвращается столбцовый вектор. Если X не содержит nonzero элементов или является пустым массивом, то возвращается пустой массив.

16

ind = find(X, k)

ind = find(X, k, 'first')

Максимально возвращается количество индексов, соответствующих nonzero элементов в X, в количестве k. k должен быть положительным целым числом, но может быть любым типом данных.

17

ind = find(X, k, 'last')

Возвращает максимум k последних индексов, соответствующих ненулевым элементам X.

18

[row,col] = find(X, ...)

Возвращает индексы строк и столбцов ненулевых элементов матрицы X. Этот синтаксис особенно полезен при использовании спаренных матриц. Если X является N-мерным массивом N> 2, то col содержит линейные индексы столбцов.

19

[row,col,v] = find(X, ...)

Возвращает вектор столбцов или строк с ненулевыми элементами X и индексами строк и столбцов. Если X является логическим выражением, то v является логическим массивом. Вектор v содержит логические элементы массива, полученные при вычислении выражения X.

20

islogical(A)

Определяет, является ли вход логическим массивом; если A является логическим массивом, то возвращает true, в противном случае возвращает false. Если A является экземпляром класса, производного от логического класса, то также возвращает true.

21

logical(A)

Преобразование числовых значений в логические значения; возвращает массив, который можно использовать для логического индексирования или логического тестирования.

22

true

Логический 1 (true)

23

true(n)

Это n×n-матрица логической матрицы.

24

true(m, n)

Это n×n-матрица логической матрицы.

25

true(m, n, p, ...)

Это массив массивов логических массивов m×n×p×…

26

true(size(A))

Это логический массив, размер которого такой же, как и размер массива A.

27

true(..., 'like', p)

Это логический массив, имеющий такой же тип данных и спarsity, как логический массив p.

Операторы Matlab