Matlab ismember不为NaN工作

Matlab ismember不为NaN工作,matlab,nan,Matlab,Nan,如果我这样做 然后输出为 ismember([NaN 0 3 2],[0 NaN]) 我显然期待的地方 0 1 0 0 我试过了 1 1 0 0 然后输出为 ismember(['3' 0 3 2],[0 '3']) 我如何让ismember为NaN工作?按照惯例,ismember。适用于给定用例的快速垫片如下: 1 1 0 0 >> ismembernan = @(a,b) ismember(a,b)

如果我这样做

然后输出为

ismember([NaN 0 3 2],[0 NaN])
我显然期待的地方

0     1     0     0
我试过了

1     1     0     0
然后输出为

ismember(['3' 0 3 2],[0 '3'])

我如何让ismember为NaN工作?

按照惯例,
ismember
。适用于给定用例的快速垫片如下:

1     1     0     0
>> 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