If i do
ismember([NaN 0 3 2],[0 NaN])
then exit
0 1 0 0
where I obviously expected
1 1 0 0
I tried
ismember(['3' 0 3 2],[0 '3'])
How can I do ismember work for NaN?
Following the agreement that NaN ~= NaN, ismember considers NaN values as different . A quick pad that works for your use case will be:
NaN ~= NaN
ismember
>> 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