MATLAB: Creating Array Struct From excel file

structxlsread

I am trying to create an appropriate array from an excel sheet. I have read the sheet with [num str]=xlsread('Book1.xlsx'); This creates Name Size Bytes Class Attributes
num 5x10 400 double
and
Name Size Bytes Class Attributes
str 6x10 6920 cell
I would like to create a struct such that the field names coming from the row headers of str. but if i try
B=struct(str(1,1),num(:,1))
I get an error
Error using struct
Field names must be strings.
Please suggest a work around if you know of one. Thank you

Best Answer

  • Your str is a cell string. Then you need curly braces:
    B = struct(str{1,1}, num(:,1))