How to split an array at a specific component?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have an array of length x (lets say 10) and I want to split the array at every occurence of the value 0.
For example A = [0,3,5,6,9,0,2], I want to form two separate array from this being B=[3,5,6,9] and C=[2]
Taking into consideration that the 0 could be anywhere in the array, could be in any number of occurences and could even not exist at all.
0 commentaires
Réponse acceptée
Walter Roberson
le 14 Fév 2021
A = [0,3,5,6,9,0,2]
mask = A == 0;
starts = strfind([true mask], [1 0]);
stops = strfind([mask true], [0 1]);
output = arrayfun(@(T,P) A(T:P), starts, stops, 'uniform', 0);
celldisp(output)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Get Started with MATLAB 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!