How to get arg min of an N-dimensional Matrix ?

33 visualizaciones (últimos 30 días)
Rawan hamdi
Rawan hamdi el 15 de Abr. de 2013
Respondida: Steven Lord el 30 de Abr. de 2019
Hi, i'm having an image of size[280,307,191] and i want to get the argmin of it,Any help?

Respuesta aceptada

James Tursa
James Tursa el 15 de Abr. de 2013
Editada: James Tursa el 15 de Abr. de 2013
[m n] = min(M(:));
[x y z] = ind2sub(size(M),n);
x, y, z will be the indexes (i.e., argmin) of the minimum value of your 3D array M.
  2 comentarios
Rawan hamdi
Rawan hamdi el 16 de Abr. de 2013
thanks but what are the m & n ?
Jan
Jan el 16 de Abr. de 2013
The documentation of min explains this exhaustively already. Type this in Matlab's command window:
help min
doc min
and read it.

Iniciar sesión para comentar.

Más respuestas (3)

Cedric
Cedric el 15 de Abr. de 2013
How do you define argmin? If it is the global min, you can get it as follows:
min(M(:))
where M is your 3D array.
  4 comentarios
Sreeda M A
Sreeda M A el 13 de Jul. de 2016
can you please explain what values should I give for M ??
Andrei Bobrov
Andrei Bobrov el 13 de Jul. de 2016
Editada: Andrei Bobrov el 13 de Jul. de 2016
Hi Sreeda M A! Example:
M = randi(400,280,307,191);

Iniciar sesión para comentar.


Sean de Wolski
Sean de Wolski el 15 de Abr. de 2013
Or:
min(min(min(M)))
  2 comentarios
Ties Hendrickx
Ties Hendrickx el 29 de Abr. de 2019
Nope, this will return the minimum value and not the index of the minimum value
Cedric
Cedric el 30 de Abr. de 2019
Just use [~,linIdx] = min(M(:)) and then convert to subscripts using IND2SUB.

Iniciar sesión para comentar.


Steven Lord
Steven Lord el 30 de Abr. de 2019
If you're using release R2019a or later, you probably want to call min with the 'all' dimension input and the 'linear' flag.

Categorías

Más información sobre Get Started with MATLAB 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