Struct array conversion

Convert in either direction between struct-array and structure of arrays

You are now following this Submission

Usage: new = struct2struct(old)

If 'old' is a scalar struct containing arrays (each with the same number of rows, N) then 'new' will be an N-by-1 struct-array whose fields have a single row.

If 'old' is an N-by-1 struct-array whose fields have a single row (e.g. as returned above) then 'new' will be a scalar structure whose fields have N rows.

Either representation can have advantages for representing basic spreadsheet or database information.

A struct of arrays allows fields to be added and removed more easily and eases computation of filtering or sorting indices.
(A struct of arrays is also the format returned from csv2struct.)

A struct-array makes it easier to apply filtering and sorting operations using the computed indices/indicators.

Cite As

Ged Ridgway (2026). Struct array conversion (https://www.mathworks.com/matlabcentral/fileexchange/27121-struct-array-conversion), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired by: csv2struct(filename)

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.0