细胞阵列中标量NaNs的指数

时间:2018-01-26 09:11:47

标签: matlab nan cell-array

考虑以下单元格数组:

test = cell(2,2);
test(1,:) = {NaN};
test{2,1} = [1,2,3];
test{2,2} = [4,NaN,6];

我想确定那些直接由NaN标量组成的细胞。我尝试isnancellfun一起使用,但它也标识了向量中的所有NaN。

nanIdx = cellfun(@isnan, test, 'UniformOutput', false)

因此,我正在寻找nanIdx = [true,true ; false,false]类型的logical

1 个答案:

答案 0 :(得分:2)

您可以将匿名函数定义为@(x)isscalar(x) && isnan(x)

nanIdx = cellfun(@(x)isscalar(x) && isnan(x), test)

可以使用任何is*函数提供更多条件。