Struct array conversion

Convert in either direction between struct-array and structure of arrays
Updated 30 Mar 2010

View License

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 (2024). Struct array conversion (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R14SP3
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Data Types in Help Center and MATLAB Answers

Inspired by: csv2struct(filename)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!


Version Published Release Notes