ranking of vector with non-unique elements
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Michal
el 18 de Sept. de 2019
Comentada: Michal
el 18 de Sept. de 2019
I need to perform fast ranking of the vector with non-unique elements, like in the following example:
F = [10.1 31.0 20.5 20.5 10.1] -> rankF = [3 1 2 2 3]
So far I am using the following code:
[~,~,iFu] = unique(F,'stable');
[~,iFs] = sort(F,'descend');
[~,iFs] = sort(iFs);
[~, ~, rankF] = unique(iFs(iFu));
But, I am not sure if this code is really effective. Is there any better (faster) way how to solve this problem?
0 comentarios
Respuesta aceptada
Johannes Fischer
el 18 de Sept. de 2019
So you want to order starting with the highest value?
F = [10.1 31.0 20.5 20.5 10.1]
[~, ~, rankF] = unique(max(F)-F)
4 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!