How to make a cell array of cell arrays

8 次查看(过去 30 天)
Hi,
How does one make a cell array of cell array in Matlab ? Let's A = (1:70), how can I transform this into a 14x1 cell array for which every cell contains 5 numbers ?
Thank you
  1 个评论
Adam Danz
Adam Danz 2019-8-6
Ha! You got 2 answers at almost the same time with almost the same variable names and the same explanation of terminology.

请先登录,再进行评论。

采纳的回答

Adam Danz
Adam Danz 2019-8-6
编辑:Adam Danz 2019-8-6
"how can I transform this into a 14x1 cell array for which every cell contains 5 numbers"
What you're describing is a cell array of vectors, not a cell array of cells.
c = mat2cell(reshape(A,5,14),5,ones(1,14)); % For column vectors
or
c = mat2cell(reshape(A,5,14)',ones(1,14),5); % For row vectors

更多回答(2 个)

the cyclist
the cyclist 2019-8-6
Here is one way:
A = 1:70;
C = cell(14,1);
for ii = 1:14
C{ii} = A(5*ii-4:5*ii);
end
To be clear on terminology (and what you actually want) ... this will be a cell array of numeric vectors, not a cell array of cell arrays.

madhan ravi
madhan ravi 2019-8-6
编辑:madhan ravi 2019-8-6
Wanted = num2cell(reshape(A,5,[]),1).'

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by