2017-08-05 74 views
0

我有一個大小爲248 * 15的單元矩陣,其最大列數爲15.我想提取MatLab中包含大於或等於8(> = 8)非零列條目的行。如何根據單元矩陣中的列數選擇行?

例如:電池行1,2,7,8,......

Find attached image

+0

爲什麼downvote?這是一個有效的問題。但是,添加示例代碼或您迄今爲止嘗試過的代碼是指示性的,並且顯示了努力。查看下面的解決方案,讓我知道它是否有效。 – crazyGamer

回答

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, ...] 
+0

是的...它的工作.. –