如果我这样做
ismember([NaN 0 3 2],[0 NaN])
然后输出
0 1 0 0
我显然希望
1 1 0 0
我试过
ismember(['3' 0 3 2],[0 '3'])
然后输出
1 1 0 0
如何让NaN成员工作?
答案 0 :(得分:11)
遵循NaN ~= NaN
,ismember
treats NaN values as distinct的约定。适用于您的特定用例的快速垫片将是:
>> ismembernan = @(a,b) ismember(a,b) | (isnan(a) & any(isnan(b)));
>> a = [NaN 0 3 2];
>> b = [0 NaN];
>> ismembernan(a,b)
ans =
1 1 0 0