Converting cell to struct with field names

1 visualización (últimos 30 días)
R J
R J el 8 de Jul. de 2015
Editada: R J el 8 de Jul. de 2015
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."

Respuesta aceptada

James Tursa
James Tursa el 8 de Jul. de 2015
Editada: James Tursa el 8 de Jul. de 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 comentarios
Stephen23
Stephen23 el 8 de Jul. de 2015
Indeed, this also described in the documentation:
R J
R J el 8 de Jul. de 2015
Editada: R J el 8 de Jul. de 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);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Cell Arrays en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by