how can I convert cell2mat when the values are numbers with different number of figures
15 次查看(过去 30 天)
显示 更早的评论
Hi, I am trying to convert a 1828x1cell to a matrix so that I could make calculation with it.
The cell contains str in the form
'1'
'23'
'2'
'14'
When a try: data=cell2mat(d);
I get the following error:
_*Error using cat Dimensions of matrices being concatenated are not consistent.
Error in cell2mat (line 84)_ m{n} = cat(1,c{:,n});*
So, the problem is that in some case the number is one figure, like 1 and 2, but in other cases the number is two figures like 23 or 14.
Please, how can I solve this problem or what else can I do so that I can do some calculation with the values inside the cell?
Thanks
0 个评论
采纳的回答
kjetil87
2013-7-19
your problem is that the cell contains strings, and '1' and '23' does not have the same length, '23' is actually a 1x2 array of char. Therefor it cannot be placed in a matrix, it would work if u replaced '1' with eg '01'. If you are going to do calculations with these numbers i would recommand taking a look at "str2num" or "str2double".
Perhaps
data=cellfun(@str2num,d);
would solve your problem ?
6 个评论
更多回答(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!