MATLAB: Find a range of minimum values in a vector/array

arrayfindmaxmaximumminimumrangevalue

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.

Best 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);