我有一个 6x16单元格(称为 M ),有时最后4列中的所有单元格都是空的,如下所示:
[12 200 3 4] [45 24 1 26]...[] [] [] []
...
[47 31 54 40] [85 2 10 256]...[] [] [] []
如果我这样做
M=M(~cellfun('isempty',M));
然后我最终得到72x1细胞。我想要移除空单元格,但单元格应该变为6x12。顺便说一下,在某些情况下,最后4列不是空的。在这种情况下,我想保留6x16。有人可以帮忙吗?
答案 0 :(得分:0)
如果您知道最后四列都是空的,只需签订合同M
:
M = M(:,1:end-4);
如果你不知道四个总是要排除的数字,你可以试试这个:
nCol = size(M,2);
mask = cell2mat(arrayfun(@(k) nCol - numel([M{k,:}]),1:size(M,1),'UniformOutput',false)');
M = M(:,1:end-max(mask));
这将修剪为空的最大列数。