Сравнение элементов категориального массива

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

Создание категориального массива из Массива ячеек из символьных векторов

Создайте 2 4 массив ячеек из символьных векторов.

C = {'blue' 'red' 'green' 'blue';...
    'blue' 'green' 'green' 'blue'};

colors = categorical(C)
colors = 2x4 categorical array
     blue      red        green      blue 
     blue      green      green      blue 

colors является 2 4 категориальным массивом.

Перечислите категории категориального массива.

categories(colors)
ans = 3x1 cell array
    {'blue' }
    {'green'}
    {'red'  }

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

Используйте оператор отношения, eq (==), чтобы сравнить первые и вторые строки colors.

colors(1,:) == colors(2,:)
ans = 1x4 logical array

   1   0   1   1

Только значения во втором столбце отличаются между строками.

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

Сравните целый категориальный массив, colors, к вектору символов 'blue', чтобы найти местоположение всех значений blue.

colors == 'blue'
ans = 2x4 logical array

   1   0   0   1
   1   0   0   1

Существует четыре синих записи в colors, один в каждом углу массива.

Преобразование в порядковый категориальный массив

Добавьте математическое упорядоченное расположение категориям в colors. Задайте порядок категории, который представляет упорядоченное расположение спектра цветов, red < green < blue.

colors = categorical(colors,{'red','green' 'blue'},'Ordinal',true)
colors = 2x4 categorical array
     blue      red        green      blue 
     blue      green      green      blue 

Элементы в категориальном массиве остаются то же самое.

Перечислите дискретные категории в colors.

categories(colors)
ans = 3x1 cell array
    {'red'  }
    {'green'}
    {'blue' }

Сравнение элементов на основе порядка

Определите, больше ли элементы в первом столбце colors, чем элементы во втором столбце.

colors(:,1) > colors(:,2)
ans = 2x1 logical array

   1
   1

Оба значения в первом столбце, blue, больше, чем соответствующие значения во втором столбце, red и green.

Найдите все элементы в colors, которые являются меньше, чем 'blue'.

colors < 'blue'
ans = 2x4 logical array

   0   1   1   0
   0   1   1   0

Функциональный lt (<) указывает на местоположение всего green и значений red с 1.

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

|

Связанные примеры

Больше о

Для просмотра документации необходимо авторизоваться на сайте