我的大小为A
的矩阵3 x 100 x 19
。
A(3x100x1) =
Columns 1 through 4
0.0080 0.0090 0.0100 0.0110
0.1350 0.1350 0.1350 0.1350
1.7564 1.7564 1.7564 1.7582
Columns 5 through 8
0.0120 0.0130 0.0140 0
0.1350 0.1350 0.1350 0
1.7599 1.7599 1.7655 0 .... columns 100
A(3x100x2) =
Columns 5 through 8
0 0 0 0.0150
0 0 0 0.1350
0 0 0 1.7599... and so on till 100 column
同样地直到A(3x100x19)
我想删除三维矩阵的空列,并且需要A(3x10x1)
,A(3x10x2)
,而不需要空列。
我试过
A(:,all(A == 0),:) = [] % it did not work.
我也试过
for m = 1:19
B = A(:,:,segId)
B(:,all(A == 0),:) = [];
end %% It did not work.
任何人都可以帮我吗?
答案 0 :(得分:3)
你不能。想象一下这是一个立方体:你不能在MATLAB中打孔。你需要一个坚固的立方体。假设我消除A(2,4,5)
,MATLAB应该如何显示?瑞士奶酪不是MATLAB的选择,因此我将列保留为零,或者将它们设置为nan
。