如何在每个单元格阵列的每个单元格内部存在水平连接矩阵



i具有由以下维度组成的元素的1x8 Cell Array(A)

10x13x2 double  10x13x2 double  10x13x2 double  10x13x2 double  10x13x2 double  10x13x2 double  10x13x2 double  10x13x2 double

A{1,1}....A{1,8}中,我有

val(:,:,1) = 10x13 matrix(130 values)
val(:,:,2) = Another 10x13 Matrix(130 values)

现在,我想水平串联val(:,:,1) and val(:,:,2),以便由于每个单元格中的串联而获得了260 values的总计。我需要像 val(:,:,1) is M and val(:,:2) is V一样加入它。因此,我需要像[M1 V1]..[MN VN]

水平串联

,我希望为单元格数组中的所有8个元素完成此操作。

所以,最后我必须获得1x8单元格数组的值,如下

MxNX1 MxNX1 MxNX1 MxNX1 MxNX1 MxNX1 MxNx1 MxNX1 

其中 MXN = 260

所以最后我应该得到一个1x8单元格数组,我希望每个单元格的尺寸为 260x8

请建议如何做到这一点,如果涉及重塑和循环,请建议我如何做?

(:,:)的3D阵列符号水平串联3D切片。使用cellfun或循环将其应用于A的所有单元。

A = cellfun(@(x) {x(:,:)}, A);

或者,如果上述版本不太清楚,则可以使用reshape

A = cellfun(@(x) {reshape(x,10,[])}, A);

最新更新