Find a range of minimum values in a vector/array

4 views (last 30 days)
Hello everyone! Briefly, I would like to ask if, in MATLAB, exists a function or something else to find a min or max range of values in an array. I mean, if I have [7 2 1 4 34 9 8 5]
And I want to find the a "range" of three numbers, which is the minimumin the array, MATLAB will give me as result
[2 1 4]
And so on.
Thanks in advice, A.M.
  2 Comments
José-Luis
José-Luis on 6 May 2013
What do you mean by "a range"? The three smallest numbers, or the three contiguous smallest numbers?
Alfredo Martini
Alfredo Martini on 6 May 2013
I mean the three contiguous smallest numbers. Forgive my english, is very poor.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 6 May 2013
Edited: Andrei Bobrov on 6 May 2013
I see two ways:
1)
out = sort(yourarray);
out = out(1:3);
2)
[ii,ii] = min(conv(yourarray,[1 1 1],'same'));
out = yourarray(ii-1:ii+1);

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!