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

8 ビュー (過去 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 Center および File ExchangeMatrix Indexing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by