все

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

Синтаксис

B = all(A)
B = all(A,'all')
B = all(A,dim)
B = all(A,vecdim)

Описание

пример

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

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

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

  • Если 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 является положительным целочисленным скаляром.

пример

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

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

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