删除3D矩阵中的空零值图层

时间:2015-05-07 11:52:02

标签: matlab matrix

最初,我从下面的代码中获取3D矩阵

X = rand(100,100,10);

现在我设置为零,如下面的代码

X(:,:,3) =0;
X(:,:,4) =0;

现在我想将矩阵X重塑为100 * 100 * 8。意味着我想删除上面两层(3和4);

我该怎么办?

1 个答案:

答案 0 :(得分:3)

试试这个:

x(:,:,3:4) = [];  %// Assigning the zero value layers to null

或者,如果您不知道哪些图层为零图层:

mask = any(any(x)); %// getting which layers are Non-zero Layers

x = x(:,:,mask);