все

Определите, являются ли все элементы массива ненулевыми или 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.

пример

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

конец

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

Создайте 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

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

свернуть все

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический | char
Поддержка комплексного числа: Да

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

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

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

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

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

Типы данных: удвойтесь | единственный | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

свернуть все

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

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

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

Была ли эта тема полезной?