2010-01-17 12 views
14

Tengo un vector columna Quiero convertir a una serie de células, tales como:¿Cómo puedo convertir un vector en una matriz de celdas?

A = rand(10,1); 

B = cell(10,1); 
for i=1:10 
    B{i} = A(i); 
end 

B = 
    [0.6221] 
    [0.3510] 
    [0.5132] 
    [0.4018] 
    [0.0760] 
    [0.2399] 
    [0.1233] 
    [0.1839] 
    [0.2400] 
    [0.4173] 

¿Cómo puedo hacer esto sin una explícita para el lazo? Traté:

B{:} = A(:) 

y

[B{:}] = deal(A) 

sin suerte ...

también si es posible, ¿cómo puedo hacer lo mismo para una matriz, es decir, tienen cada elemento en una célula por sí mismo?

Respuesta

22

Utilice la función num2cell:

B = num2cell(A); 

Obras con matrices también.

+0

¡No puedo creer que me olvidé de este! Gracias – merv

Cuestiones relacionadas