如何根据单元格矩阵中的列数选择行?

时间:2017-08-05 08:58:35

标签: matlab matrix cell

我有一个大小为248 * 15且最大列数为15的单元矩阵。我想在MatLab中提取包含大于或等于8(> = 8)个非零列条目的行。

例如:单元格行1,2,7,8,.....

Find attached image

1 个答案:

答案 0 :(得分:1)

您可以使用cellfun首先确定哪些单元格元素为空,然后使用数组索引来根据需要选择行:

C = {} % The cell matrix of size 248 x 15.

% An array of 248 x 15 that has Booleans based on empty or not:
emptyCells = cellfun(@isempty, C)

% The total number of empty columns on each row:
emptyColsCount = sum(emptyCells, 2)

% Find those rows with at least 8 non-zero columns
requiredRowIndices = find(emptyColsCount < 8)
% This returns [1, 2, 7, ...]