Need help to specify unique values of a vector

1 view (last 30 days)
I am using the unique command to specify the unique values of a vector that i read from different files. While it works ok for some of them, there are a lot that after i keep just the "unique" values i discover that there are still same values. The code i use is the following
idx=find(unique(Z));
Z=Z(idx);
My problem is that i use the Z variable for interpolation later in my code, so if the values aren't dinstict i get error
Error using ==> interp1 at 261 The values of X should be distinct.
Thank you in advance

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 13 Nov 2011
You probably didn't use the function right.
find() finds indices of nonzero elements. I don't know why you would run idx=find(unique(Z)).
unique() will return the unique values in Z, but it could also return the index. See the full help of unique().
  1 Comment
Kostas
Kostas on 14 Nov 2011
You are right, i should use something like [b,idx]=unique(Z) to get indices in idx not find. Thanks a lot

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!