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

조회 수: 4 (최근 30일)
Alon Rozen
Alon Rozen 2017년 12월 25일
답변: Star Strider 2017년 12월 25일
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

답변 (1개)

Star Strider
Star Strider 2017년 12월 25일
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)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by