splitting up numbers in a cell of a double
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (2)
Star Strider
le 13 Oct 2020
Modifié(e) : Star Strider
le 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 commentaires
Star Strider
le 13 Oct 2020
Modifié(e) : Star Strider
le 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
le 13 Oct 2020
Modifié(e) : madhan ravi
le 13 Oct 2020
Wanted = vertcat(cell_array{:})
%or
Wanted = cat(1, cell_array{:})
2 commentaires
madhan ravi
le 13 Oct 2020
Modifié(e) : madhan ravi
le 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{:})
Voir également
Catégories
En savoir plus sur Structures dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!