Locate array element within limits given by another array

Probably quite easy but I don't know how to get it... I would like to find the floor of the position of each of the elements (positive decimal numbers) of one array in another array. In the second array the difference between consecutive elements is 2 always. For example: a=[3.45 8.99 10.02] b=[1.03 3.03 5.03 7.03 9.03 11.03 13.03] where what I want to get is c=[2 4 5]

 Accepted Answer

c = discretize(a,b)
c =
2 4 5
If you're running an older release without discretize, histc will do the same thing:
[~,c] = histc(a,b)

More Answers (2)

a=[3.45 8.99 10.02];
b=[1.03 3.03 5.03 7.03 9.03 11.03 13.03];
[~,~,out] = histcounts(a,b);

Categories

Asked:

on 30 Nov 2015

Answered:

on 30 Nov 2015

Community Treasure Hunt

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

Start Hunting!