MATLAB Answers

What does the 'i' mean in [y,i] = unique(A)?

23 views (last 30 days)
If I got a m x 1 matrix and I perform this little piece of code in Matlab it returns two arrays 'y' and 'i', where 'y' holds the unique numbers en 'i' holds the row numbers of the unique numbers? I don't understand why this is. Can someone explain this to me?

  0 Comments

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 28 Apr 2016
Edited: Star Strider on 28 Apr 2016
It’s the index into ‘A’, so that ‘y=A(i)’. It returns the index of the first instance of the unique values. If you want all of them (indirectly), you have to ask for the third argument as well.

  4 Comments

Show 1 older comment
Star Strider
Star Strider on 28 Apr 2016
My pleasure.
There is no difference if all of the values are unique, and all are already in ascending sorted order.
I don’t know what you intend by ‘the vector index page’. I would refer you to the documentation on the unique function, specifically Unique Values and Their Indices for the details.
Igor Batoukhtine
Igor Batoukhtine on 28 Apr 2016
Aaaah great, thanx! I was looking at the wrong page:
Star Strider
Star Strider on 28 Apr 2016
My pleasure!
That isn’t the ‘wrong’ page, and is definitely worth reading (I wish more posters here read it), but not the one that would provide the information you need to understand the unique function.

Sign in to comment.

More Answers (0)

Sign in to answer this question.


Translated by