# Picking array elements based their values (largest, second largest,...)

1 visualización (últimos 30 días)
okoth ochola el 26 de En. de 2023
Respondida: Arif Hoq el 26 de En. de 2023
Hi community. I have the following code which I intended to use to pick numbers from a matrix from the matrix based on their value such that, I can pick the largest, second largest and so forth. My problem is this, the code seems to waork only for a matrix with unique elements. In situations where the matrix has some repeated elements, the code returns wrong results. To some extent, I know where the problem is, my code first sort the numbers and arrange them in ascending order, then it picks values based on their positions pointed by the subsequent lines after sorting but not values anymore which is undesirable for me. When the code below is executed, it picks 7, 7 and 6 instead of 7, 6, 5. How can I instruct the code to pick the values based on their values and not positions after sorting. So that if the desired value is repeated, the code only pick it once and ignores the rest. Because with a large matrix it is impossible to look and correctly define the positions of the values as have done below. Am using R2016a. Please help. Thanks in advance.
Y=[1 1 0 0 6 5 4 7 7]
[ii,ii] = sort(Y);
Largest=Y(ii([end]));
Second_largest = Y(ii([end-1]));
Third_largest=Y(ii([end-2]));
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
okoth ochola el 26 de En. de 2023
thanks, it worked prfectly well

Iniciar sesión para comentar.

Arif Hoq el 26 de En. de 2023
Y=[1 1 0 0 6 5 4 7 7];
a=unique(Y);
[ii,ij] = sort(a,'descend');
Largest=ii(1)
Largest = 7
second_largest=ii(1+1)
second_largest = 6
third_largest=ii(1+2)
third_largest = 5
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

R2016a

### Community Treasure Hunt

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

Start Hunting!

Translated by