MATLAB Answers

How to divide a 3D array into one dimensional cell array

10 views (last 30 days)
Alon Rozen
Alon Rozen on 25 Dec 2017
Answered: Star Strider on 25 Dec 2017
Hi,
I have a 3x3xn Array which actually contains n times 3x3 matrices. I want to convert it to a one dimensional cell array with n entries (nx1) so that the ith cell contains the ith 3x3 matrix. I know that the key functions to use are 'mat2cell' and 'num2cell' but I can't get it right. It is important that the cell array will be only one dimensional because it should enter to a 'table' as one of the fields.
Any help will be appreciated! Alon

  0 Comments

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 25 Dec 2017
Use the mat2cell function:
M = randi(9, 3, 3, 2) % Create Matrix
Msz = size(M); % Get Size
C = mat2cell(M, Msz(1), Msz(2), ones(1,Msz(3))); % Convert To Cells, One ‘Page’ Per Cell
C{1} % View Output (Optional)
C{2} % View Output (Optional)

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!