error of All contents of the input cell array must be of the same data type.
71 次查看(过去 30 天)
显示 更早的评论
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)
0 个评论
采纳的回答
Azzi Abdelmalek
2014-2-16
编辑:Azzi Abdelmalek
2014-2-16
'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)
0 个评论
更多回答(1 个)
Nikola Mirkov
2020-8-25
Hey Sermet,
Even easier:
cellArray(cellfun(@ischar,cellArray)) = {nan};
cellArray = cell2mat(cellArray);
Best,
niko
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!