MATLAB: Error of All contents of the input cell array must be of the same data type.

cell arrays

cellArray =
'p4004'
[4005]
[4007]
[4009]
[4015]
cellArray 5x1 1202 cell
% when I perform
cellArray=cell2mat(cellArray)
it gives " All contents of the input cell array must be of the same data type." the error.
%I need to perform these transformations to get cell array of strings
cellArray=cell2mat(cellArray)
cellArray=num2str(cellArray)
cellArray=cellstr(cellArray)

Best Answer

'p4004' is a string when the other data are double. you can't use cell2mat with mixed data types
If you need to extract a number from 'p4004'
cellArray ={'p4004' [4005] [4007]}
a=cellfun(@num2str,cellArray,'un',0)
b=regexp(a,'\d+(\.)?\d+','match')
c=cellfun(@str2double,b)