find the repeating numbers in order

1 view (last 30 days)
MakM
MakM on 9 Dec 2021
Commented: MakM on 10 Dec 2021
I want to find the repeating numbers from the array in order. I have tried different repeating functions which tell me the frequency of the numbers, but I want to know the order of the repeating numbers. For example I have an array which is 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] and I want my function to give me the answer 1,2,1,4,5,7,2.

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 9 Dec 2021
%Given your first element isn't 0
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];
a(diff([0 a])~=0)
ans = 1×7
1 2 1 4 5 7 2
  4 Comments
Stephen23
Stephen23 on 9 Dec 2021
A robust solution that works for any values:
a = [0,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];
a([true,diff(a)~=0])
ans = 1×8
0 1 2 1 4 5 7 2
MakM
MakM on 10 Dec 2021
Thank you Stephan and Joshi.. It worked :)

Sign in to comment.

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!