Find a range of minimum values in a vector/array

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

What do you mean by "a range"? The three smallest numbers, or the three contiguous smallest numbers?
I mean the three contiguous smallest numbers. Forgive my english, is very poor.

Sign in to comment.

 Accepted Answer

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

Community Treasure Hunt

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

Start Hunting!