File Exchange

image thumbnail


version 2.0 (1.59 KB) by

Count members.

11 Ratings



View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

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

Comments and Ratings (11)

Yindi Zhao


Evan (view profile)

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.

Xiaoyu Bai

Abhinav Gaur

just what i needed .. Thanks

Pete sherer

Excellent. It could be better if you can also return the logical index as a second output.

Jalal A

many thanks for posting this!

Val cucche


urs (us) schwarz

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]

Dimitri Shvorob



updated from R13


improved help and comments, fixed some spelling issues

Reduced overhead by removing unnecessary dummy variables.

MATLAB Release
MATLAB 8.5 (R2015a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today