how can I convert cell2mat when the values are numbers with different number of figures
1 回表示 (過去 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 件のコメント
Stephen23
2018 年 10 月 27 日
編集済み: Stephen23
2018 年 10 月 27 日
@Kazi Shakib: then it seems that you tried to use str2double on a cell array of character vectors that do not represent numbers. If you want more help with this ask a new question, and upload your data in a .mat file by clicking the paperclip button.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Data Type Identification についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!