Find a range of minimum values in a vector/array

3 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)

Categories

Find more on Shifting and Sorting 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!