RunMat
  • Pricing
RunMat
GitHub
GitHub
DownloadSign InTry in Browser
DesktopRuntimeServer
RunMat

Run math blazing fast

GitHubX (Twitter)LinkedIn

Company

  • About
  • Pricing
  • Contact

Explore

  • RunMat for academia
  • RunMat vs MATLAB Online
  • Benchmarks

Get product updates and release notes from the RunMat team.

© 2026 Dystr · Made withfor the scientific community.

RunMat™ is a registered trademark of Dystr, Inc. MATLAB® is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.

LicensePrivacy
/
See all docs
Builtin Reference
    • array2table
    • array2timetable
    • categorical
    • cell2table
    • dictionary
    • groupsummary
    • head
    • height
    • iscategorical
    • isordinal
    • istable
    • istimetable
    • ordinal
    • pivot
    • rowfilter
    • struct2table
    • table
    • table2array
    • table2cell
    • table2struct
    • table2timetable
    • timerange
    • timetable
    • timetable2table
    • uitable
    • vartype
    • width

ordinal — Create an ordinal categorical array object.

ordinal(X) creates an ordered compatibility object from the sorted unique levels of X. Labels, explicit levels, and numeric bin edges follow the public ordinal argument order.

Syntax

B = tabularBuiltin(args...)

Inputs

NameTypeRequiredDefaultDescription
argsAnyVariadic—Input 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
RunMat:readtable:IOErrorreadtable cannot open or read the requested file.readtable: file read failed
RunMat:readtable:UnsupportedFileTypereadtable receives a file type outside the text or spreadsheet import backends.readtable: unsupported file type

How ordinal works

  • String, char, cellstr, numeric, and logical inputs are accepted through the same label conversion path as categorical.
  • ordinal(X) derives sorted unique levels from non-missing values and creates default labels.
  • ordinal(X, labels) assigns the supplied text labels to the sorted unique levels; duplicate labels merge levels.
  • ordinal(X, labels, levels) uses the explicit comparable level vector and marks source values absent from it as undefined.
  • ordinal(X, labels, [], edges) bins numeric source values into left-closed, right-open intervals, with the final edge included in the last bin.
  • Integer source values, explicit levels, and edges use exact native comparison across all eight classes. Default numeric display labels retain the established five-significant-digit formatting and collision rejection.
  • The returned object has class categorical, stores one-based category codes, and has its Ordinal metadata flag set to true.
  • Equality and relational operators compare category order; categorical-to-categorical comparisons require matching category lists.
  • min and max reduce ordinal categorical arrays by category order and return categorical results; undefined elements follow the numeric NaN behavior of includenan and omitnan, and multi-output forms return numeric indices.

Example

Create an ordered categorical array

O = ordinal({'medium'; 'low'}, {'low','medium','high'})

Expected output:

O = categorical object

Using ordinal with coding agents

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

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

FAQ

How is ordinal different from categorical?⌄

ordinal always sets the categorical Ordinal flag to true, so category order is meaningful for compatibility code that checks ordinal categorical metadata.

Related Table functions

array2table · array2timetable · categorical · cell2table · dictionary · groupsummary · head · height · iscategorical · isordinal · istable · istimetable · pivot · rowfilter · struct2table · table · table2array · table2cell · table2struct · table2timetable · timerange · timetable · timetable2table · uitable · vartype · width

Open-source implementation

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

  • View the source for ordinal in Rust on GitHub
  • Learn how the RunMat runtime works
  • Found a bug? Open an issue with a minimal reproduction.

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.

Download RunMatOpen Sandbox
On this page
  • Syntax
  • Inputs
  • Returns
  • Errors
  • How ordinal works
  • Example
  • Create an ordered categorical array
  • Using ordinal with coding agents
  • FAQ
  • Related Table functions
  • Open-source implementation
  • About RunMat