How to make a cell array of cell arrays

9 Ansichten (letzte 30 Tage)
Blue
Blue am 6 Aug. 2019
Bearbeitet: madhan ravi am 6 Aug. 2019
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 Kommentar
Adam Danz
Adam Danz am 6 Aug. 2019
Ha! You got 2 answers at almost the same time with almost the same variable names and the same explanation of terminology.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adam Danz
Adam Danz am 6 Aug. 2019
Bearbeitet: Adam Danz am 6 Aug. 2019
"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

Weitere Antworten (2)

the cyclist
the cyclist am 6 Aug. 2019
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 am 6 Aug. 2019
Bearbeitet: madhan ravi am 6 Aug. 2019
Wanted = num2cell(reshape(A,5,[]),1).'

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by