MATLAB: How to calculate repetition of an unknown number present in 2nd column of a 150*2 matrix

counting frequency of a number

I've a matrix a=[1,1;2,1;3,1;4,4;5,4] . Actually numbers in the 2nd column are not known in a general case. So, how can i count how many numbers have a particular number (say 1,4) in their corresponding 2nd column.

Best Answer

Use the unique and accumarray functions:
a=[1,1;2,1;3,1;4,4;5,4];
[a2,ia,ic] = unique(a(:,2));
ah = accumarray(ic, 1);
Result = [a2, ah]
Result =
1 3
4 2
So in the second column, there are 3 ‘1’ values and 2 ‘4’ values.
This could be easily changed if you wanted unique row pairs.