MATLAB: Find Unique values in array

arrayindexing

Hi all,
I am trying to create a new array contains ONLY the unique values (same values but not repeated) which in the following case are 90 0 45
I used unique function, however, the function also returns the same data as in x, but in sorted order. I DO NOT want them in sorted order,
Also, I would like to obtain the index of the unique values in the x
like index=[1,2,9]
clear all;
clc;
x=[90 0 0 90 90 90 90 90 45 0 0 0];
y=unique(x)

Best Answer

  • clc;
    x=[90 0 0 90 90 90 90 90 45 0 0 0];
    [y, idx] = unique(x, 'stable')
    output
    y =
    90 0 45
    idx =
    1
    2
    9