all

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

Описание

пример

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

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

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

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

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

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

пример

B = all(A,dim) проверяет элементы по размерности dim. The 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

Выходы являются вектором логических значений. The 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
Для просмотра документации необходимо авторизоваться на сайте