Определение того, являются ли массивы логическими

Чтобы определить, является ли массив логическим, можно протестировать целый массив или каждый элемент индивидуально. Это полезно когда это необходимо, чтобы подтвердить тип выходных данных функции.

Эта страница показывает несколько способов определить, является ли массив логическим.

Идентификация логической матрицы

Создайте 3 6 матрица и найдите все элементы, больше, чем 0.5.

A = gallery('uniformdata',[3,6],0) > 0.5
A =

     1     0     0     0     1     0
     0     1     0     1     1     1
     1     1     1     1     0     1

Результатом, A, является 3 6 логическая матрица.

Используйте функцию whos, чтобы подтвердить размер, количество байта и класс (или тип данных) матрицы, A.

whos A
Name      Size            Bytes  Class      Attributes

  A         3x6                18  logical  

Результат подтверждает, что A является 3 6 логической матрицей.

Тестирование целого массива

Используйте функцию islogical, чтобы протестировать, является ли A логическим.

islogical(A)
ans =

     1

Результатом является логический 1 (true).

Используйте функцию class, чтобы отобразить строку с именем класса A.

class(A)
ans =

logical

Результат подтверждает, что A является логическим.

Тестирование каждого элемента массива

Создайте массив ячеек, C, и используйте опцию 'islogical' функции cellfun, чтобы идентифицировать, какие ячейки содержат логические значения.

C = {1, 0, true, false, pi, A};
cellfun('islogical',C)
ans =

     0     0     1     1     0     1

Результатом является логический массив, одного размера как C.

Чтобы протестировать каждый элемент в числовой матрице, используйте функцию arrayfun.

arrayfun(@islogical,A)
ans =

     1     1     1     1     1     1
     1     1     1     1     1     1
     1     1     1     1     1     1

Результатом является матрица логических значений, одного размера как A. arrayfun(@islogical,A) всегда возвращает матрицу всего логического 1 (true) или логического 0 (false) значения.

Сводная таблица

Используйте эти функции MATLAB®, чтобы определить, является ли массив логическим.

Синтаксис функций'OutputSize' Описание
whos(A)Нет данныхОтображает имя, размер, байты устройства хранения данных, класс и атрибуты переменной A.
islogical(A)скалярВозвращает логический 1 (true), если A является логическим массивом; в противном случае возвращается логический 0 (false). Результат совпадает с использованием isa(A,'logical').
isa(A,'logical')скалярВозвращает логический 1 (true), если A является логическим массивом; в противном случае возвращается логический 0 (false). Результат совпадает с использованием islogical(A).
class(A)одна строкаВозвращает строку с именем класса переменной A.
cellfun('islogical',A)Массив, одного размера как AДля массивов ячеек только. Возвращает логический 1 (true) для каждой ячейки, которая содержит логический массив; в противном случае возвращается логический 0 (false).
arrayfun(@islogical,A)Массив, одного размера как AВозвращает массив логического 1 (true) значения, если A является логическим; в противном случае это возвращает массив логического 0 (false) значения.

Смотрите также

| | | | |