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?

 採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2016 年 4 月 29 日
編集済み: Azzi Abdelmalek 2016 年 4 月 29 日

1 投票

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))

1 件のコメント

Ahmed Hamed
Ahmed Hamed 2016 年 4 月 29 日
Perfect answer very helpful. Thanks a lot

サインインしてコメントする。

その他の回答 (1 件)

dpb
dpb 2016 年 4 月 29 日

0 投票

>> 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 件のコメント

Ahmed Hamed
Ahmed Hamed 2016 年 4 月 29 日
very helpful............. thanks a lot
dpb
dpb 2016 年 4 月 29 日
Intended to ask--how did you get such a format instead of the numeric values in the first place?
Tobias Bramminge
Tobias Bramminge 2019 年 10 月 1 日
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?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で Multidimensional Arrays についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by