Borrar filtros
Borrar filtros

How to get the first five minimum number for a list

5 visualizaciones (últimos 30 días)
amj
amj el 11 de Feb. de 2018
Comentada: amj el 11 de Feb. de 2018
Hi,
I would like to get the index number of the first five minimum number from the list. This is my code:
list = [4,10,1,2,7,12,5,6,10,8];
min=list(1,1)
ind = 1;
N = length(list)
t= 0;
while (t<5)
for n = 2:N
if min>list(n)
ind=n;
min=list(n);
end
end
minIndexList(1,t+1) =ind ;
t = t+1;
end
disp(minIndexList)
However, the code just stored and repeat the index of the minimum Fors insance, minIndexList just stored >> 3,3,3,3,3. By right, the minIndexList should store = 3,4,1,7,8. Do anyone can help me to solve this problem? Thank you in advance
  1 comentario
Walter Roberson
Walter Roberson el 11 de Feb. de 2018
What behaviour do you want if the list has duplicates? Are you looking for the indices of the 5 smallest unique values, or the 5 smallest values including duplicates?
What output would you expect for the list [1 1 1 2 2 2 2 3 3 3 3 3 3] ? You "use up" 3 of the output slots for the 1's, so then you have 2 output slots remaining but 4 locations that have the same minimum value: how do you decide which of those 4 locations you give the index of?

Iniciar sesión para comentar.

Respuesta aceptada

Birdman
Birdman el 11 de Feb. de 2018
Use the simple code below:
[~,idx]=ismember(sort(list),list);
idx=idx(1:5)
  3 comentarios
Birdman
Birdman el 11 de Feb. de 2018
Yes but still does the job.
amj
amj el 11 de Feb. de 2018
Thanks a million Birdman & Walter Roberson

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 11 de Feb. de 2018
Editada: Walter Roberson el 11 de Feb. de 2018
  1 comentario
amj
amj el 11 de Feb. de 2018
Thank you Walter Roberson. Yeah ..indeed true. Any idea if the repeating indexes occur?

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing 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!

Translated by