table2struct — Convert a table into row structs or a scalar struct of variables.
table2struct(T) converts each table row into a struct with fields matching table variable names. table2struct(T, "ToScalar", true) returns one scalar struct whose fields contain whole table variables.
Syntax
S = table2struct(T, ToScalar=tf)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
T | Any | Yes | — | Input table or timetable. |
ToScalar | Any | No | false | Logical selector for scalar-struct output. |
Returns
| Name | Type | Description |
|---|---|---|
B | Any | Converted output 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 |
How table2struct works
- Variable order is preserved.
- The default conversion returns one row struct per table row; integer fields retain their exact scalar class and value.
"ToScalar"keeps every complete table variable in one scalar struct without converting integer storage.- The documented logical
ToScalarselector works in MATLAB-compatible mode. Typed-integer selector values are available only when RunMat extensions are enabled.
Examples
Convert rows to structs
S = table2struct(T)Expected output:
S = struct array with table variable fieldsConvert variables to one scalar struct
S = table2struct(T, 'ToScalar', true)Expected output:
S = scalar struct with table variable fieldsUsing table2struct with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how table2struct changes the result.
Run a small table2struct example, explain the result, then change one input and compare the output.
Related Table functions
array2table · array2timetable · categorical · cell2table · dictionary · groupsummary · head · height · iscategorical · isordinal · istable · istimetable · ordinal · pivot · rowfilter · struct2table · table · table2array · table2cell · table2timetable · timerange · timetable · timetable2table · uitable · vartype · width
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how table2struct is executed, line by line, in Rust.
- View the source for table2struct 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.