如何判断单元格中的数据是“无效的”

时间:2013-09-25 00:19:48

标签: matlab cell-array

           ''    [  2281]    [  2520]    [8]
           ''          []          []     ''

与我cell数组中的上述数据一样。如何确定第二行无效?我尝试了isempty(),但结果不是最佳的。

2 个答案:

答案 0 :(得分:6)

使用cellfunall沿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