How to get sorted index order for an array?

For example, if I use the sort function on the array [14 8 91 19], I will get [8 14 19 91]. But instead I want [2 1 4 3] which gives me the indices of elements in the original array.
Is there any inbuilt function or does the sort function accept any additional argument to accomplish this? Otherwise I have to write my own function.

Respuestas (1)

Stephen23
Stephen23 el 19 de Mayo de 2015
Editada: Stephen23 el 19 de Mayo de 2015
You can obtain the output indices directly from sort:
>> [out,idx] = sort([14 8 91 19])
out =
8 14 19 91
idx =
2 1 4 3
See the sort documentation for more useful information.

2 comentarios

Seraphin Kimaryo
Seraphin Kimaryo el 13 de Oct. de 2020
Thanks buddy.
Anirudha bajaj
Anirudha bajaj el 17 de Mayo de 2022
Thank you so much

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 19 de Mayo de 2015

Comentada:

el 17 de Mayo de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by