Extract values within a range in a for loop

1 view (last 30 days)
I have a loop like this:
for i = 1:length(x)
xy = find(u==i | u>i & u<(i+1)); #xy should find indices of u within that range i.e u(i)>=i<u(i+1)
N(i) = length(xy) #giving me counts of i
end
but then, the last iteration (last value of i) will be wrong by this expression.
how do i correct this please?
Or any better suggestion (function) by which I can do this
Thanks a lot

Accepted Answer

Walter Roberson
Walter Roberson on 7 Mar 2019
histcounts or the older histc.
Note that the two functions have different results for values that are exactly equal to the last element of the vector of bins. histc uses a separate bin for values exactly equal to the last bin but histc makes it part of the previous bin.
  4 Comments
Sesilia Iileka
Sesilia Iileka on 8 Mar 2019
This code has errors Roberson. Please check it again. Thanks
Walter Roberson
Walter Roberson on 8 Mar 2019
it worked when I tested it using appropriate edge information where I wrote the .... in the outline . however I was confused about which array had the edge information and which had the data to be partitioned.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Distribution Plots 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!