# 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
 table2array(M)
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));	end
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); table2array(M)