How to find the index of the first absolute minimum entry of a matrix
    17 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Tarek Hajj Shehadi
 el 19 de Mayo de 2022
  
    
    
    
    
    Comentada: Stephen23
      
      
 el 19 de Mayo de 2022
            I am working on a model structure optimization problem and to summarize consider this matrix:
A=[5,7,0.5,5 ; 2,0.5,4,1 ; 0.5,6,7,9]
In this matrix, 0.5 is clearly the smallest element of this matrix. 
It is repeated 3 times. 
Question: Can someone provide me with an algorithm that returns the index and value of this absolute minimum "only the first time it appears"
For instance:
A=[5,7,0.5,5 ; 2,0.5,4,1 ; 0.5,6,7,9];
[value,index]=somecode(A)
%returns the value of the absolute minimum
>> value = 0.5
%returns the index of the first time this absolute minimum appears
>> (3,1) % the first time it appears is in column 3 row 1 and NOT column 2 row 2
1 comentario
  Stephen23
      
      
 el 19 de Mayo de 2022
				Your example matrix is not very good because it contains the value 0.5 in both (1,3) and (3,1) locations.
Catalytic's answer for example gives the wrong answer because of this confusion.
Respuesta aceptada
Más respuestas (2)
  Stephen23
      
      
 el 19 de Mayo de 2022
        A = [5,7,0.5,5;2,0.5,4,1;0.5,6,7,9];
[V,X] = min(A.',[],'all');
[C,R] = ind2sub(size(A),X)
0 comentarios
  Mathieu NOE
      
 el 19 de Mayo de 2022
        hello 
here you are my friend 
A=[5,7,0.5,5 ; 2,0.5,4,1 ; 0.5,6,7,9]
[val,ind_linear] = min(A,[],'all','linear');    %   M = MIN(X,[],'all') returns the smallest element of X.
                                                %   [M,I] = MIN(X,[],...,'linear') returns the linear indices of the 
                                                %   minimum values in vector I.
ind_linear = min(ind_linear);                   % take only the first one in case there are multiple answers                                          
[row,col] = ind2sub(size(A),ind_linear)         % Convert from the linear index back to its row and column form.
0 comentarios
Ver también
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!



