2013-08-19 236 views
1

我用八度的细胞,但MATLAB用户可能将是多么有用。转换3D阵列以二维数组

我有一个在空间m x n和时间,t定义的阵列。因此它有大小m x n x t。对于某个功能,将该3D尺寸转换为具有以下结构的单元格会更有帮助:

考虑将A设置为m x n x t阵列。

cell = {A(:,:,1), A(:,:,2), ..., A(:,:,t)},即有t元素,每个元素为m x n数组。

我不知道如何为动态t做到这一点。

+1

退房['mat2cell'(http://www.mathworks.com/help/matlab/ref/mat2cell.html) – Schorsch

+0

谢谢!应该已经发布为答案! – jhc

回答

4

您可以使用mat2cell来实现它:

[m n t] = size(A); 
B=mat2cell(A, m, n, ones(1,t)); 
+0

完美! matlab文档有点令人困惑。 – jhc