Getting lowest postive number in array with it's index
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Mark Sc
 el 21 de Mzo. de 2021
  
    
    
    
    
    Comentada: Stephan
      
      
 el 21 de Mzo. de 2021
            Hi, 
I am trying to get lowest postive number from array , and it's index, 
I got the correct lowest postive number but due to introducing of greater than sign >, the indicies numbering changed, can anyone tell me how  could I obtain lowest postive number with keeping and getting correct index... 
I attach the code below... (Please remember it's a part from a code, and i need to get the values as written below)
clearvars;
clc;
S=[-6.3e7 -0.0001e7 inf;5.2545 -.2996e7 inf];
[m,idx]=min(S(S(:)>0));               % THE RESULT IS CORRECT BUT INDEX IS WRONG ... INDEX SHOULD BE 2 
% I UNDERSTAND NOW THE INDEX IS CHANGED AS I INTRODUCED >0 BUT I WOULD LIKE TO GET THE INDEX FROM S(:) NORMAL 
0 comentarios
Respuesta aceptada
  Stephan
      
      
 el 21 de Mzo. de 2021
        
      Editada: Stephan
      
      
 el 21 de Mzo. de 2021
  
      S=[-6.3e7 -0.0001e7 inf;5.2545 -.2996e7 inf]
m_idx = [min(S(S>0)), find(S==min(S(S>0)))]
2 comentarios
  Stephan
      
      
 el 21 de Mzo. de 2021
				S=[-6.3e7 -0.0001e7 inf;5.2545 -.2996e7 inf]
[m, idx] = myFun(S)
function [m, idx] = myFun(S)
    m = min(S(S>0));
    idx =  find(S==min(S(S>0)));
end
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!