Borrar filtros
Borrar filtros

How do I create a new array each time there is an empty matrix in a cell array.

1 visualización (últimos 30 días)
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]

Respuesta aceptada

James Tursa
James Tursa el 12 de Oct. de 2017
Editada: James Tursa el 12 de Oct. de 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)) = [];

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by