Как я могу преобразовать вектор в массив ячеек? - PullRequest
15 голосов
/ 18 января 2010

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

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]

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

B{:} = A(:)

и

[B{:}] = deal(A)

без удачи ...

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

1 Ответ

24 голосов
/ 18 января 2010

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

B = num2cell(A);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...