categorical — Create a categorical array object.

categorical(A) maps input labels to integer category codes and stores category labels in object metadata.

Syntax

B = tabularBuiltin(args...)

Inputs

NameTypeRequiredDefaultDescription
argsAnyVariadicInput values and name-value options.

Returns

NameTypeDescription
outAnyResult value.

Errors

IdentifierWhenMessage
RunMat:table:InvalidArgumentArguments or table metadata are invalid.table: invalid argument
RunMat:table:InvalidIndexTable indexing is invalid.table: invalid index
RunMat:table:InvalidVariableA table variable name or value is invalid.table: invalid variable

How categorical works

  • String, char, cellstr, numeric, and logical inputs are supported.
  • categorical(A) derives sorted unique categories from non-missing labels.
  • String labels preserve leading and trailing whitespace.
  • categorical(A, valueset) uses the supplied values as the category order and marks unmatched labels as missing.
  • categorical(A, valueset, catnames) maps source values through valueset and stores the corresponding category names from catnames; valueset entries must be unique.
  • Empty labels become missing category codes.
  • "Ordinal" and "Protected" are accepted as name-value options, while those same words can still be used as positional category labels when not followed by logical option values.
  • Categorical-to-categorical comparisons require matching category lists.
  • Ordinal categorical arrays support equality, relational comparisons, min, and max by category order.
  • Use ordinal(...) as a compatibility constructor for categoricals whose category order is meaningful.

Example

Create categories

C = categorical({'red'; 'blue'; 'red'})

Expected output:

C = categorical object

Using categorical with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how categorical changes the result.

Run a small categorical example, explain the result, then change one input and compare the output.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how categorical is executed, line by line, in Rust.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.