extracting the indices of minimum value in a vector, ignoring last value
Show older comments
I need to find the indices of the minimum positive value in a vector, ignoring the last value in the vector. if there is a tie, I need the first value based on indexes.
for example: if R = [120; 70; 50; 0] I want the incides for 50 back (3,1)
if R = [10; 16 ; 10; 30; 10; 0] I want the indices for the first 10 back (1,1)
thanks!!!!
Answers (1)
Paulo Silva
on 26 Mar 2011
a=R; %create a copy of R
%in order to only find positive numbers we do the next line
a(a<=0)=nan; %replace negative numbers and the zero with nan
[r,c]=find(a==min(a(1:end-1)),1) %find values
alternative and better:
[r,c]=find((R==min(a(1:end-1)))>0,1) %find values
4 Comments
brittany adam
on 26 Mar 2011
Paulo Silva
on 26 Mar 2011
i fixed the code, try it now
brittany adam
on 26 Mar 2011
Jan
on 26 Mar 2011
@Brittany: Does this mean, that you accept the question? Then please press the corresponding button.
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!