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

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

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

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

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

|

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

Больше о