Вы можете легко создать подобную функциональность самостоятельно с помощью Position[]
Mathematica Например. учитывая список номеров, вы можете сделать следующее:
In[1] := A = {1, 5, 2, 3, 7, 3, 2, 8, 6, 5, 9, 2, 1};
In[2] := {#, Flatten[Position[A, #]]} & /@ Union[A]
Out[2]:= {{1, {1, 13}}, {2, {3, 7, 12}}, {3, {4, 6}}, {5, {2, 10}}, {6, {9}}, {7, {5}}, {8, {8}}, {9, {11}}}
для получения списка уникальных элементов и индексов их появления в исходном списке.
Точно копировать функциональность Matlab's Unique()
, особенно для
[b,m,n] = unique(A)
вам нужно
b = Union[A];
m = Last[Position[A, #]] & /@ b // Flatten;
n = Position[b, #] & /@ A // Flatten;
который теперь обеспечивает желаемое поведение
In[1] := A[[#]] & /@ m == b
Out[1]:= True
In[2] := b[[#]] & /@ n == A
Out[2]:= True