C = COUNTMEMBER(A,B) counts the number of times the elements of array A are present in array B, so that C(k) equals the number of occurences of A(k) in B. A may contain non-unique elements. C will have the same size as A.
A and B should be of the same type, and can be cell array of strings.
countmember([1 2 1 3],[1 2 2 2 2])
-> 1 4 1 0
-> 2 0 0
I replaced the line:
N = histc(Loc(:), 1:length(AUnique))
N = histcounts(Loc(:), 1:length(AUnique)+1)
based on the recommendation by Mathworks to stop using the histc function. You need to add an extra bin edge because histcounts() doesn't add the extra bin for values exactly equal to the end of the edges vector.
just what i needed .. Thanks
Excellent. It could be better if you can also return the logical index as a second output.
many thanks for posting this!
ery sleek, jos! just a pedestrian thought: replace your dums with the name of the following var, e.g., [AU,dum,j] with [AU,j,j]
updated from R13
improved help and comments, fixed some spelling issues
Reduced overhead by removing unnecessary dummy variables.
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.