将3D数组转换为2D数组的单元格

时间:2013-08-19 18:48:26

标签: matlab multidimensional-array octave

我使用octave,但matlab用户可能会同样有用。

我在空间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 个答案:

答案 0 :(得分:4)

您可以使用mat2cell来实现它:

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