splitting up numbers in a cell of a double

17 views (last 30 days)
Abbey Stock
Abbey Stock on 13 Oct 2020
Edited: Star Strider on 13 Oct 2020
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

Answers (2)

Star Strider
Star Strider on 13 Oct 2020
Edited: Star Strider on 13 Oct 2020
See if the num2cell function will do what you want.
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
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.

Sign in to comment.


madhan ravi
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
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{:})

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by