MATLAB: Unique rows with nan

unique

If i have two identical rows
for example: A=[ 1 2 3 NaN;1 2 3 NaN];
using
unique(A,'rows') is not eliminating the duplication. is there any other method to do so?

Best Answer

This is because nan~=nan is always true.
So one approach is to replace nan with some other value.
A(isnan(A)) = inf;
B = unique(A,'rows');
B(isinf(B)) = nan
If you have infs in your array as well as nans, pick some other value.