考虑以下单元格数组:
test = cell(2,2);
test(1,:) = {NaN};
test{2,1} = [1,2,3];
test{2,2} = [4,NaN,6];
我想确定那些直接由NaN标量组成的细胞。我尝试isnan
与cellfun
一起使用,但它也标识了向量中的所有NaN。
nanIdx = cellfun(@isnan, test, 'UniformOutput', false)
因此,我正在寻找nanIdx = [true,true ; false,false]
类型的logical
。
答案 0 :(得分:2)
您可以将匿名函数定义为@(x)isscalar(x) && isnan(x)
:
nanIdx = cellfun(@(x)isscalar(x) && isnan(x), test)
可以使用任何is*函数提供更多条件。