any

Определите, являются ли какие-либо элементы массива ненулевыми

Описание

пример

B = any(A) тесты вдоль первого измерения массива A чей размер не равняется 1 и определяет, является ли каким-либо элементом ненулевой номер или логический 1 TRUE). На практике, any естественное расширение логической операции ИЛИ.

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

  • Если A непустая, невекторная матрица, затем B = any(A) обрабатывает столбцы A как векторы, возвращая вектор-строку из логического 1s и 0s.

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

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

B = any(A,'all') тесты по всем элементам A. Этот синтаксис допустим для MATLAB® версии R2018b и позже.

пример

B = any(A,dim) тестовые элементы по измерению dim. Тусклый вход является положительным целочисленным скаляром.

пример

B = any(A,vecdim) тестовые элементы на основе размерностей указаны в векторном vecdim. Например, если A матрица, затем any(A,[1 2]) тесты по всем элементам в A, поскольку каждый элемент матрицы содержится в срезе массивов, заданном размерностями 1 и 2.

Примеры

свернуть все

Создайте 3х3 матрицу.

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

Протестируйте каждый столбец на ненулевые элементы.

B = any(A)
B = 1x3 logical array

   0   0   1

Создайте вектор из десятичных значений и теста, которого значения меньше 0.5.

A = [0.53 0.67 0.01 0.38 0.07 0.42 0.69];
B = (A < 0.5)
B = 1x7 logical array

   0   0   1   1   1   1   0

Выход является вектором из логических значений. any функция уменьшает такой вектор из логических значений к одному условию. В этом случае, B = any(A < 0.5) дает к логическому 1.

Это делает any особенно полезный в if операторы.

if any(A < 0.5)

%do something

else

%do something else

end

Код выполнен в зависимости от одного условия, а не вектора из возможно конфликтных условий.

Создайте 3 7 5 многомерными массивами и тестом, чтобы видеть, больше ли какой-либо из его элементов 3.

A = rand(3,7,5) * 5;
B = any(A(:) > 3)
B = logical
   1

Можно также протестировать массив на элементы, которые меньше нуля.

B = any(A(:) < 0)
B = logical
   0

Синтаксис A(:) поворачивает элементы A в вектор отдельного столбца, таким образом, можно использовать этот тип оператора на массиве любого размера.

Создайте 3х3 матрицу.

A = [0 0 3;0 0 3;0 0 3]
A = 3×3

     0     0     3
     0     0     3
     0     0     3

Протестируйте строки A для ненулевых элементов путем определения dim = 2.

B = any(A,2)
B = 3x1 logical array

   1
   1
   1

Создайте трехмерный массив и определите, существуют ли ненулевые элементы на каждой странице данных (строки и столбцы).

A(:,:,1) = [2 0; 0 0];
A(:,:,2) = [0 0; 0 0];
A(:,:,3) = [0 0; 0 1];
B = any(A,[1 2])
B = 1x1x3 logical array
B(:,:,1) =

   1


B(:,:,2) =

   0


B(:,:,3) =

   1

Входные параметры

свернуть все

Входной массив, заданный как скалярный, векторный, матричный или многомерный массив. any функция игнорирует элементы A это - NaN (Не Номер).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Поддержка комплексного числа: Да

Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.

Рассмотрите двумерный входной массив, A:

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

  • any(A,2) работает над последовательными элементами в строках A и возвращает вектор-столбец логических значений.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Вектор из размерностей в виде вектора из положительных целых чисел. Каждый элемент представляет размерность входного массива. Продолжительности выхода в заданных операционных размерностях равняются 1, в то время как другие остаются то же самое.

Рассмотрите 2 3х3 входным массивом, A. Затем any(A,[1 2]) возвращает 1 1 3 массивами, элементы которых указывают на ненулевые значения для каждой страницы A.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Логический массив, возвращенный как скаляр, вектор, матрица или многомерный массив. Размерность A действовавший на any имеет размер 1 в B.

Расширенные возможности

Представлено до R2006a