Compare Categorical Array Elements - MATLAB & Simulink (original) (raw)

Main Content

This example shows how to use relational operations with a categorical array.

Create Categorical Array

Create a categorical array.

C = ["blue" "red" "green" "blue"; ... "blue" "green" "green" "blue"];

colors = categorical(C)

colors = 2×4 categorical blue red green blue blue green green blue

List the categories of the categorical array.

ans = 3×1 cell {'blue' } {'green'} {'red' }

Determine If Elements Are Equal

Use the relational operator, eq (==), to compare the first and second rows of colors.

colors(1,:) == colors(2,:)

ans = 1×4 logical array

1 0 1 1

Only the values in the second column differ between the rows.

Compare Entire Array to String

Compare the entire categorical array, colors, to the string "blue" to find the location of all blue values.

ans = 2×4 logical array

1 0 0 1 1 0 0 1

There are four blue entries in colors, one in each corner of the array.

Convert to Ordinal Categorical Array

Add a mathematical ordering to the categories in colors. Specify the category order that represents the ordering of color spectrum, red < green < blue. The elements in the categorical array remain the same.

colors = categorical(colors,["red" "green" "blue"],Ordinal=true)

colors = 2×4 categorical blue red green blue blue green green blue

List the categories in colors.

ans = 3×1 cell {'red' } {'green'} {'blue' }

Compare Elements Based on Order

Determine if elements in the first column of colors are greater than the elements in the second column.

colors(:,1) > colors(:,2)

ans = 2×1 logical array

1 1

Both values in the first column, blue, are greater than the corresponding values in the second column, red and green.

Find all the elements in colors that are less than blue.

ans = 2×4 logical array

0 1 1 0 0 1 1 0

The function lt (<) indicates the location of all green and red values with 1.

See Also

categorical | categories

Topics