How to split cell array separated by ',' into double array?

5 views (last 30 days)
I have a cell array (2x1) as follows
'0,0,0,2,2,0.39,0.49'
'0,1,2,2,2,0.34,0.44'
I need to split it into double array (2x7) so the output be as follows
0 0 0 2 2 0.39 0.49
0 1 2 2 2 0.34 0.44
Is this possible? if yes? any suggestions please?

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 29 Apr 2016
Edited: Azzi Abdelmalek on 29 Apr 2016
a={'0,0,0,2,2,0.39,0.49'
'0,1,2,2,2,0.34,0.44'}
out=cell2mat(cellfun(@str2num,strrep(a,',',' '),'un',0))

More Answers (1)

dpb
dpb on 29 Apr 2016
>> c={'0,0,0,2,2,0.39,0.49'
'0,1,2,2,2,0.34,0.44'};
>> str2num(char(c))
ans =
0 0 0 2.0000 2.0000 0.3900 0.4900
0 1.0000 2.0000 2.0000 2.0000 0.3400 0.4400
>>
  3 Comments
dpb
dpb on 29 Apr 2016
Intended to ask--how did you get such a format instead of the numeric values in the first place?
Tobias Bramminge
Tobias Bramminge on 1 Oct 2019
Hi! I am using this solution now, but of some reason, a few of my rows are deleted with the function.
Anybody familier with this problem?

Sign in to comment.

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!