我想将几个二维数据组合成三维数据。我有124个2-D数据(151 x 151)现在我想将所有这些数据组合成3维,这样它就像这个124 x 151 x 151.二维数据包含NaN元素。
答案 0 :(得分:1)
要将多个2D数组连接成3D数组,请使用通用连接函数cat
,指定维度3.
例如,给定大小的二维数组A1,A2,...
:
M = cat(3,A1,A2,...)
假设您在单元格数组k
中组织了C
个2D数组,其中每个单元格都是2D矩阵,大小均为M-by-N
:
M = cat(3,C{:});
然后M
的大小为M-by-N-by-k
。现在,如果您想从M-by-N-by-k
转到k-by-M-by-N
,请使用permute
或shiftdim
:
Mn = permute(M,[3 1 2]); % my preference
Mn = shiftdim(M,2);
注意:cat
的替代方法是cell2mat
:
M = cell2mat(reshape(C,1,1,[]))