MATLAB:将 3D 矩阵转换为元胞数组

MATLAB: Converting 3D matrix to cell array

我的目标是将 192x88x3 矩阵转换为包含 192x88 数组的 3x1 元胞数组。我在 MATLAB 中使用了 mat2cell,但结果是 1x1x3 元胞数组,看起来很奇怪。

a=rand(192,88,3);
b=mat2cell(a, [192],[88],[1 1 1])
whos b
b         1x1x3            405840  cell   

我该怎么办?

您可以使用 squeeze 删除多余的单体维度。

b = squeeze(mat2cell(a, [192],[88],[1 1 1]));