splitting up numbers in a cell of a double
8 views (last 30 days)
Show older comments
Hi,
I have a 22x1 double array with numbers such as 0100001 0100100 in each cell. How would i split this up into a 154x1 (22*7) vector with
0
1
0
0
0
0
1
0
1
0
0
1
0
0
etc
0 Comments
Answers (2)
Star Strider
on 13 Oct 2020
Edited: Star Strider
on 13 Oct 2020
EDIT — (13 Oct 2020 at 12:53)
(Question was essentially completely changed.)
To clarify, it is not a double array, because the leading zeros would not be present. Most likely is’s a cell array:
v = {'0100001' '0100100'};
and it’s relatively straightforward (although not at all obvious) to get the result you want:
Out = reshape([v{:}]-'0', [],1)
producing:
Out =
0
1
0
0
0
0
1
0
1
0
0
1
0
0
.
4 Comments
Star Strider
on 13 Oct 2020
Edited: Star Strider
on 13 Oct 2020
Brace indexing would not work for a double array, only a cell array.
Something is not correct, since a double would not have leading zeros.
It would help to see the actual original data, most likely as a .mat file.
(13:12 UCT) With respect to your edited Comment, I am now thoroughly lost. I have no idea what your data actually are, much less how to deal with what appears to be a moving target.
madhan ravi
on 13 Oct 2020
Edited: madhan ravi
on 13 Oct 2020
Wanted = vertcat(cell_array{:})
%or
Wanted = cat(1, cell_array{:})
2 Comments
madhan ravi
on 13 Oct 2020
Edited: madhan ravi
on 13 Oct 2020
cell_array = {[0,1,0,0,0,0,1].', [0,1,0,0,1,0,0].'};
Wanted = vertcat(cell_array{:})
%or
Wanted = cat(1, cell_array{:})
See Also
Categories
Find more on Whos 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!