我正在尝试将两个向量与不同位置的NaN
值进行比较。
我需要考虑这些向量相等
例如
a = [NaN 2 3 4];
b = [1 NaN 3 4];
我试过
isequalwithequalnans(a,b)
但它返回零,因为数组中NaN
个元素的位置很重要。
有没有办法做到这一点
答案 0 :(得分:2)
获取logical index,其中包含所有向量都不包含NaN
的位置,并仅比较这些条目:
ind = ~(isnan(a)|isnan(b));
result = all(a(ind)==b(ind));
result = isequaln(max(a,b), min(a,b));
请注意,isequaln
用于将NaN
视为相等。如果a
和b
在同一位置包含NaN
,则必须执行此操作。