MATLAB: How to compare the first column of the rows to whole matrix

arrayfunoccurrow values

I am trying to compare the first columns of rows to whole matrix, and try to find how many times each value occur in the matrix. For example, let
A = [2 4 6 1;
3 7 18 24;
4 2 6 0;
5 8 12 17;
6 2 4 0;
7 3 18 24];
I want to find how many times the row values [2 3 4 5 6 7] occur in the matrix. I can easily find it using for loop, but I don't want any loop. I am also not good at using arrayfun. Can somebody help me?
Thanks.

Best Answer

From the example, I assume that you want to find the occurrence of the numbers anywhere in the matrix, not just in the same row.
Just use histc or in 2014b, the new histcounts. Use sort or better unique to create your histogram bins:
bins = unique(A(:, 1)); %get unique values of 1st column, sort works if you're sure they're all different
dist = histcounts(A(:, 2:end), bins); get histogram of columns 2 to end