Locate array element within limits given by another array

1 view (last 30 days)
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

Sean de Wolski
Sean de Wolski on 30 Nov 2015
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)

Andrei Bobrov
Andrei Bobrov on 30 Nov 2015
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);

Dana
Dana on 30 Nov 2015
Many thanks to both!

Categories

Find more on Data Types in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!