how to split and transpose a cell array?

1 view (last 30 days)
Hi !! I have the next cell composition (30*1 size)
What I want to do is to split it first, according to the "," so each different number has to occupy a diffierent column. Like this:
After this, I want to transpose all the numbers, so I want to have a final matrix size (7*30)
Can anyone help me to solve this?
Thanks in advance!

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 29 Apr 2016
a={'12,13,14,45';'4,8,nan,nan';'450,2,14,nan'}
out=cell2mat(cellfun(@(x) str2num(strrep(x,',',' ')),a,'un',0))'
  4 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 29 Apr 2016
Edited: Azzi Abdelmalek on 29 Apr 2016
This is not a problem, you know how to transpose a matrix?
out=out'
Now, for your previous comment, please post an example. It seems that your data are not similar to my example.
Viridiana  Torres
Viridiana Torres on 30 Apr 2016
Thanks Azzi, these are some of the components in my a (as you call it in your example):
[199001021000.000,199001021005.000,199001021010.000,199001021015.000,199001031004.000,199001031009.000,199001031014.000]
[199001021001.000,199001021006.000,199001021011.000,199001031000.000,199001031005.000,199001031010.000,199001031015.000]
[199001021002.000,199001021007.000,199001021012.000,199001031001.000,199001031006.000,199001031011.000,NaN]
[199001021003.000,199001021008.000,199001021013.000,199001031002.000,199001031007.000,199001031012.000,NaN]

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!