How do I create a new array each time there is an empty matrix in a cell array.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Matthew Nargol
le 12 Oct 2017
Commenté : Matthew Nargol
le 12 Oct 2017
I have a cell array and I want to create a new array each time an empty cell is encountered. so for example, I may have: [1 2 3] [4 5 6] [7 8 9] [] [3 2 1] [4 7 6] [] [6 8 7]
So in this case I would want 3 separate arrays created with the following:
array1= [1 2 3 4 5 6 7 8 9] array2= [3 2 1 4 7 6] array3= [6 8 7]
0 commentaires
Réponse acceptée
James Tursa
le 12 Oct 2017
Modifié(e) : James Tursa
le 12 Oct 2017
One way:
C = your cell array
x = [0, find(cellfun(@isempty,C)), numel(C)+1];
n = numel(x)-1;
result = cell(1,n);
for k=1:n
result{k} = cell2mat(C(x(k)+1:x(k+1)-1));
end
result(cellfun(@isempty,result)) = [];
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!