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

2 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Star Strider
Star Strider am 19 Mär. 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

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by