exponenta event banner

все

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

Описание

пример

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

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

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

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

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

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

пример

B = all(A,dim) проверяет элементы вдоль размера dim. dim input является положительным целочисленным скаляром.

пример

B = all(A,vecdim) проверяет элементы на основе размеров, указанных в векторе vecdim. Например, если A является матрицей, то all(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 = all(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

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

Это делает all особенно полезно в if заявления.

if all(A < 0.5)

%do something

else

%do something else

end

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

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

A = rand(3,7,5) * 5;
B = all(A(:) < 3)
B = logical
   0

Можно также проверить массив на наличие элементов, превышающих ноль.

B = all(A(:) > 0)
B = logical
   1

Синтаксис 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 = all(A,2)
B = 3x1 logical array

   0
   0
   0

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

A(:,:,1) = [2 1; 3 5];
A(:,:,2) = [0 0; 0 0];
A(:,:,3) = [-2 9; 4 1];
B = all(A,[1 2])
B = 1x1x3 logical array
B(:,:,1) =

   1


B(:,:,2) =

   0


B(:,:,3) =

   1

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

свернуть все

Входной массив, заданный как скаляр, вектор, матрица или многомерный массив.

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

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

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

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

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

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

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

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

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

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

свернуть все

Логический массив, возвращаемый как скаляр, вектор, матрица или многомерный массив. Измерение A действовал по all имеет размер 1 в B.

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

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