if I have a list of numbers and I want to know where a number lies between two numbers in that list.

2 commentaires

Roger Stafford
Roger Stafford le 19 Déc 2016
Please give more details in your question! Better still, give a concrete example of the "list" and precisely what results you wish to obtain from it.
khamiis E
khamiis E le 19 Déc 2016

Connectez-vous pour commenter.

 Réponse acceptée

Guillaume
Guillaume le 19 Déc 2016

1 vote

A = [10 25
30 45
50 150
300 450
500 501
502 600
630 700
720 800
801 815
820 1000];
B = 33;
find(B >= A(:, 1) & B <= A(:, 2))

Plus de réponses (2)

Walter Roberson
Walter Roberson le 19 Déc 2016

1 vote

Suppose you have a vector of values in sorted order, and have some other values, and you want to know where in the vector the other values would sit. Then:
[~, ~, binnumber] = histcounts(TheOtherValues, TheVectorOfFixedValues);
Then, TheOtherValues(K) is between TheVectorOfFixedValues(binnumber(K)) and the next value.

5 commentaires

khamiis E
khamiis E le 19 Déc 2016
Modifié(e) : khamiis E le 19 Déc 2016
Thanks alot for your answer. I can't find the histcounts() function. Is there alternative function?
Star Strider
Star Strider le 19 Déc 2016
The previous histcounts function was called histc with a slightly different calling and output syntax.
Walter Roberson
Walter Roberson le 19 Déc 2016
[~, binnumber] = histc(TheOtherValues, TheVectorOfFixedValues);
Walter Roberson
Walter Roberson le 19 Déc 2016
Note: this code was written assuming that your ranges had no gaps, but it appears from your diagram that it does not apply.
khamiis E
khamiis E le 20 Déc 2016
I really appreciate your effort . thanks for your time and your answer

Connectez-vous pour commenter.

Andrei Bobrov
Andrei Bobrov le 19 Déc 2016
Modifié(e) : Andrei Bobrov le 19 Déc 2016

1 vote

A = [10 25
30 45
50 150
300 450
500 501
502 600
630 700
720 800
801 815
820 1000]; % your "start-end"
B = [33 300 501 75 754 809 1000 47]'; % Let B - your numbers
b = prod(A - reshape(B,1,1,[]),2);
out = sum(bsxfun(@times,squeeze(b < 0 | b == 0),(1:size(A,1))'))

1 commentaire

khamiis E
khamiis E le 20 Déc 2016
I really appreciate your effort . Thanks for your answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Variables dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by