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

3 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)

Categories

Find more on Multidimensional Arrays 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!

Translated by