Cell Array to Structures
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dan Lynn
il 18 Ott 2015
Commentato: Walter Roberson
il 19 Ott 2015
Is there a way to take a 1xM cell array and transform that into a structure array without using the function struct()?
The cell array will always be formatted this way: CellArr = {<field1 name>, {cell array of field 1 contents}, <field2 name, {cell array of field 2 contents}, etc...}
0 Commenti
Risposta accettata
Walter Roberson
il 18 Ott 2015
Note: this will use struct() internally.
2 Commenti
Walter Roberson
il 19 Ott 2015
You could use dynamic field assignment.
YourStruct = [];
for K = 1 : 2: length(CellArr)
YourStruct.(CellArr{K}) = CellArr{K+1};
end
It would be stylistically better to initialize
YourStruct = struct();
but you said you wanted to not use struct().
By the way, are you aware that you can do the whole thing by using
YourStruct = struct(CellArr{:});
? Though you would have to watch out for cases where the contents included cell arrays as struct() would tend to create a structure array for those cases instead of a single struct.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Structures in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!