How i can convert cell (each element in cell with different length) to array?

3 visualizaciones (últimos 30 días)
hello everybody how I can convert this cell to array such that I want each element in cell in row in array
ex = {[1,2,4,5,7,11,12],[1,3,4,5,7,11,12],[1,2,4,6,5,7,11,12],[1,3,4,6,5,7,11,12],[1,2,4,5,8,13,7,11,12],[1,3,4,5,8,13,7,11,12],[1,2,4,6,5,8,13,7,11,12],[1,3,4,6,5,8,13,7,11,12]};
  1 comentario
Stephen23
Stephen23 el 1 de Jun. de 2018
Editada: Stephen23 el 1 de Jun. de 2018
Simpler solution: download Jos' FEX submssion padcat, and use it like this:
padcat(ex{:})

Iniciar sesión para comentar.

Respuesta aceptada

Anton Semechko
Anton Semechko el 1 de Jun. de 2018

Is this kind of what you are looking for?

ex = {[1,2,4,5,7,11,12],[1,3,4,5,7,11,12],[1,2,4,6,5,7,11,12],[1,3,4,6,5,7,11,12],[1,2,4,5,8,13,7,11,12],[1,3,4,5,8,13,7,11,12],[1,2,4,6,5,8,13,7,11,12],[1,3,4,6,5,8,13,7,11,12]};
n=numel(ex);
N=zeros(n,1);
for i=1:n
    N(i)=numel(ex{i});
    ex{i}=ex{i}(:)';
end
if min(N)<max(N)
    dN=max(N)-N;        
    for i=1:n
        if dN(i)>0
            ex{i}=cat(2,ex{i},nan(1,dN(i)));
        end
    end
end
ex=cell2mat(ex(:));
disp(ex)

Más respuestas (0)

Categorías

Más información sobre Operators and Elementary Operations en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by