ismember 不为 NaN 工作
Posted
技术标签:
【中文标题】ismember 不为 NaN 工作【英文标题】:ismember not working for NaN 【发布时间】:2016-10-09 11:14:58 【问题描述】:如果我这样做
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
如何让 ismember 为 NaN 工作?
【问题讨论】:
【参考方案1】:遵循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
【讨论】:
以上是关于ismember 不为 NaN 工作的主要内容,如果未能解决你的问题,请参考以下文章