How do I know the frequency of each unique pair?

2 次查看(过去 30 天)
Edited by Azzi after Shounak changed his question
I have a uint8 matrix nx2, I want to know the frequency of each unique pair

回答(2 个)

Azzi Abdelmalek
Azzi Abdelmalek 2014-3-30
A=uint8([1 2;3 4;1 2;5 6;1 2;5 6])
[ii,jj,kk]=unique(A,'rows')
f=histc(kk,1:numel(jj)) %frequencies
out=[ii f] ; % the first two columns represent ii, the third represent the frequency

Jos (10584)
Jos (10584) 2014-3-30
Here's a one-liner that works if the input is of a N-by-2 matrix with positive integers:
A=uint8([1 2; 3 4;1 2;5 6;1 2;5 6 ; 255 254 ; 255 254])
[B(:,1) B(:,2) B(:,3)] = find(accumarray(A,1)) ;
disp(B) % column 1-2, unique rows of A, column 3 is frequency of occurrence

类别

Help CenterFile Exchange 中查找有关 Histograms 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by