ordinal — Create an ordinal categorical array object.
ordinal(A) creates a categorical object whose categories are ordered. It is a compatibility constructor equivalent to categorical(..., 'Ordinal', true).
Syntax
B = tabularBuiltin(args...)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
args | Any | Variadic | — | Input values and name-value options. |
Returns
| Name | Type | Description |
|---|---|---|
out | Any | Result value. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:table:InvalidArgument | Arguments or table metadata are invalid. | table: invalid argument |
RunMat:table:InvalidIndex | Table indexing is invalid. | table: invalid index |
RunMat:table:InvalidVariable | A table variable name or value is invalid. | table: invalid variable |
RunMat:readtable:IOError | readtable cannot open or read the requested file. | readtable: file read failed |
RunMat:readtable:UnsupportedFileType | readtable 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(A)derives sorted unique categories from non-missing labels.ordinal(A, categories)uses the supplied category order and marks labels not present in that list as missing.ordinal(A, valueset, catnames)maps source values throughvaluesetand stores the corresponding category names fromcatnames.- The returned object has class
categorical, stores one-based category codes, and has itsOrdinalmetadata flag set to true. - Equality and relational operators compare category order; categorical-to-categorical comparisons require matching category lists.
minandmaxreduce ordinal categorical arrays by category order and return categorical results; undefined elements follow the numericNaNbehavior ofincludenanandomitnan, and multi-output forms return numeric indices.
Example
Create an ordered categorical array
O = ordinal({'medium'; 'low'}, {'low','medium','high'})Expected output:
O = categorical objectUsing 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 · head · iscategorical · isordinal · istable · istimetable · pivot · rowfilter · struct2table · table2array · table2cell · table2struct · table2timetable · timerange · timetable · timetable2table · uitable · vartype
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.