按顺序找出重复的数字?

Find the repeating numbers in order?

我尝试了不同的重复函数来告诉我数字的频率,但我想知道重复数字的顺序。 例如我有一个数组,其中包含数字

a=[ 1,1,1,1,1,2,2,2,2,2,1,1,1,1,4,4,4,5,5,5,7,7,2,2,2,2]

我希望我的函数给出答案,即 1,2,1,4,5,7,2。

您可以使用 diff,您对 a 的第一个元素感兴趣,然后是元素之间的差异不为零的每个后续索引

>> a = [ 1,1,1,1,1,2,2,2,2,2,1,1,1,1,4,4,4,5,5,5,7,7,2,2,2,2];

>> b = a( [true, diff(a)~=0] );
b =
     1     2     1     4     5     7     2