MATLAB: Converting a table of mixed numeric-string content to an array

cell arraysconvertMATLABmixed classestabletable2arraytable2cell

I have a table with mixed numeric&string content:
M =
rep file condition corrAns
___ __________________ _________ _______
1 'stimuli/03C1.wav' 'C1' 2
1 'stimuli/03C4.wav' 'C4' 1
I'd like to convert M to an array, so as to be able to save it as a spreadsheet using xlswrite, which requires an array as input.
However, the command
gives the error
Cannot concatenate the table variables 'rep' and 'file', because their types are double and cell.
I tried converting the first and final columns from double to cell using
M(:,1) = table2cell(M(:,1))
or even
for i_row=1:row_N
M(i_row,1) = num2cell(M(i_row,1));
M(i_row,4) = num2cell(M(i_row,4));
but both of these conversions lead to the same error. Any suggestions?

Best Answer

Change non-cells to cells and then convert.
M.rep = num2cell(M.rep);
M.corrAns = num2cell(M.corrAns);