# MATLAB: Determining how many identical values

histogramrandom

Let's say that I have an array of size n and each value in the array is a randomly generated value from 1 to 100. I'll use randi for this.
randi(100,n,1)
For example, lets says the array were a size 7 and the generated matrix was [30 17 94 28 28 19 19]. I want a method that can output a value of 4 since there area total of 4 values that are identical to another within the array. What is a simple though not necessarily the most efficient way of determining how the number of values that are identical?

#### Best Answer

• They've been making lots of changes to the histogram routines over the last couple of versions, which makes it harder/longer for us to give answers to questions like yours. Assuming you have a recent version, you can use histcounts() and sum the bins that have counts of 2 or more:
n = 7r = randi(100,n,1)% Test caser = [30 17 94 28 28 19 19][counts, edges]  = histcounts(r, min(r):max(r))  % a new function!binsOfDuplicates = counts >= 2numDuplicates = sum(counts(binsOfDuplicates))
If you have an old version, you can use histc(), which has now been deprecated:
n = 7r = randi(100,n,1)% Test caser = [30 17 94 28 28 19 19]counts  = histc(r, min(r):max(r))binsOfDuplicates = counts >= 2numDuplicates = sum(counts(binsOfDuplicates))