C = NSTRUCT2CELL(S)
Recursive function that converts a nested struct S with a total of n sub-fields into a nx2 cell array C.
The first column of C lists the full names of the sub-fields and the second column contains the respective content.
In order to display long field names set format to long.
Example:
S.a.b = 1:3;
S.a.c = 1:6 > 3;
S.d(1).e = {'ABC','DEF'};
S.d(2).f = 'text';
S
S =
a: [1x1 struct]
d: [1x2 struct]
C = nstruct2cell(S)
C =
'S.a.b' [1x3 double ]
'S.a.c' [1x6 logical]
'S.d(1).e' {1x2 cell }
'S.d(1).f' []
'S.d(2).e' []
'S.d(2).f' 'text'
C{3,2}
ans =
'ABC' 'DEF'
Mathias Benedek (2021). NSTRUCT2CELL (https://www.mathworks.com/matlabcentral/fileexchange/29908-nstruct2cell), MATLAB Central File Exchange. Retrieved .
Inspired: getnestedfield
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
I've used your nstruct2cell() for years. If I remembered correct, I should have left a 5 star years ago. Did the whole comment chain got erased?