Find a range of minimum values in a vector/array

12 vues (au cours des 30 derniers jours)
Alfredo Martini
Alfredo Martini le 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 commentaires
José-Luis
José-Luis le 6 Mai 2013
What do you mean by "a range"? The three smallest numbers, or the three contiguous smallest numbers?
Alfredo Martini
Alfredo Martini le 6 Mai 2013
I mean the three contiguous smallest numbers. Forgive my english, is very poor.

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 6 Mai 2013
Modifié(e) : Andrei Bobrov le 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);

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by