Как преобразовать вектор в массив ячеек?

У меня есть вектор-столбец, который я хочу преобразовать в массив ячеек, например:

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]

Как я могу сделать это без явного цикла цикла? Я пробовал:

B{:} = A(:)

и

[B{:}] = deal(A)

без везения...

Также, если возможно, как я могу сделать то же самое для матрицы, т.е. иметь каждый элемент в клетке сам по себе?

Ответы

Ответ 1

Используйте функцию num2cell:

B = num2cell(A);

Работает также с матрицами.