Pregunta

Tengo un vector columna Quiero convertir a una matriz celular tal como:

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? Probé:

B{:} = A(:)

y

[B{:}] = deal(A)

sin suerte ...

Además, si es posible, ¿cómo puedo hacer lo mismo para una matriz, es decir, que cada elemento en una celda por sí mismo?

¿Fue útil?

Solución

Utilice la función num2cell :

B = num2cell(A);

Funciona con matrices también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top