How to quickly find the index of each integer in an ascend array?

2 views (last 30 days)
Hi, All,
I have an array which has an ascend integers. Now I want to find the index of the first integer in this array. For example, I have an array A = [1 1 1 1 1 2 2 3 3 3 3 3 4 4 4 5 5 5 5 6 7 7 7 8 8]. I want to find out the index of each integer.
Integer Index
[1 1
2 6
3 8
4 13
5 16
6 20
7 21
8 24];
Thanks a lot.
Benson

Accepted Answer

Star Strider
Star Strider on 19 Mar 2020
Use the unique function:
A = [1 1 1 1 1 2 2 3 3 3 3 3 4 4 4 5 5 5 5 6 7 7 7 8 8];
[Au,firstidx] = unique(A(:), 'stable');
Result = [Au, firstidx]
producing:
Result =
1 1
2 6
3 8
4 13
5 16
6 20
7 21
8 24

More Answers (0)

Community Treasure Hunt

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

Start Hunting!