exponenta event banner

любой

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

Описание

пример

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

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

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

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

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

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

пример

B = any(A,dim) проверяет элементы вдоль размера 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

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

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