How do I create a new array each time there is an empty matrix in a cell array.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Matthew Nargol
am 12 Okt. 2017
Kommentiert: Matthew Nargol
am 12 Okt. 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 Kommentare
Akzeptierte Antwort
James Tursa
am 12 Okt. 2017
Bearbeitet: James Tursa
am 12 Okt. 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)) = [];
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!