'' [ 2281] [ 2520] [8]
'' [] [] ''
与我cell
数组中的上述数据一样。如何确定第二行无效?我尝试了isempty()
,但结果不是最佳的。
答案 0 :(得分:6)
使用cellfun
和all
沿isempty
列,如下所示,
>> invalidRow = all(cellfun(@isempty,C),2)
invalidRow =
0
1
答案 1 :(得分:2)
这是一个快速的技巧:将单元格数组中的每一行组合成一个常规数组/字符串(字符串是char数组),并检查它是否为空。如果组合数组为空,那么单元格行中的每个元素也都是空的
data = {'', [23], [45], [8];
'', [], [], ''};
nRows = size(data, 1);
bad_r = zeros(nRows, 1);
for row = 1:nRows
if isempty([data{row, :}])
bad_r(row) = 1;
end
end