Find a range of minimum values in a vector/array

11 Ansichten (letzte 30 Tage)
Alfredo Martini
Alfredo Martini am 6 Mai 2013
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 Kommentare
José-Luis
José-Luis am 6 Mai 2013
What do you mean by "a range"? The three smallest numbers, or the three contiguous smallest numbers?
Alfredo Martini
Alfredo Martini am 6 Mai 2013
I mean the three contiguous smallest numbers. Forgive my english, is very poor.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 6 Mai 2013
Bearbeitet: Andrei Bobrov am 6 Mai 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);

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by