Converting cell to struct with field names

13 views (last 30 days)
Hi all,
I have a 12x5 cell that I am trying to convert to a structure. I am trying to use the cell2struct function but to no avail.
Right now I have:
structArray = cell2struct(temp, {'a' 'b' 'c' 'd' 'e'}, 5)
Thank you for your help!
Edit1: The first cell in temp{} is a 1x29 cell and the next 4 columns (2:5) are string values
Edit2: The error I get is "Number of field names must match number of fields in new structure."

Accepted Answer

James Tursa
James Tursa on 8 Jul 2015
Edited: James Tursa on 8 Jul 2015
The 3rd argument is the dimension of the cell array to use for the fields, not the number of fields. You've got 5 field names, so I assume you mean to use the 2nd dimension of your 12x5 cell array for the fields. E.g.,
structArray = cell2struct(temp, {'a' 'b' 'c' 'd' 'e'}, 2)
  2 Comments
R J
R J on 8 Jul 2015
Edited: R J on 8 Jul 2015
Thank you again James. Much appreciated.
I also just came across this solution as well searching the answers:
names = {'a', 'b', 'c', 'd', 'e'}
tempStruc = cell2struct(temp,names,2);

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!