how to find array of second minimum value based on the index value

6 views (last 30 days)
index=[1 2 3 4 5];
p(i)=[0.1 0.2 0. 3 0.4 0.5];
based on the random position of p(i) second minimum value should occur not the index value

Answers (1)

Weird Rando
Weird Rando on 6 May 2016
Edited: Weird Rando on 6 May 2016
Unique function returns the vector in ascending order discarding any repetitive values. And the find function returns the index value.
p =[0.1 0.2 0.2 0.4 0.5];
a = unique(p);
find(p == a(2), 1,'first')
You can also find all the index value of the 2nd minimum value by replacing the find with
find(p == a(2))


Find more on Creating and Concatenating Matrices 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!