Voici une liste de tous les moyens auxquels j'ai pensé pour compter les éléments uniques :
M = randi([1 7], [1500 1]);
Option 1 : tabulation
t = tabulate(M);
counts1 = t(t(:,2)~=0, 2);
Option 2 : hist/histc
counts2_1 = hist( M, numel(unique(M)) );
counts2_2 = histc( M, unique(M) );
Option 3 : accumarray
counts3 = accumarray(M, ones(size(M)), [], @sum);
%# or simply: accumarray(M, 1);
Option 4 : tri/diff
[MM idx] = unique( sort(M) );
counts4 = diff([0;idx]);
Option 5 : arrayfun
counts5 = arrayfun( @(x)sum(M==x), unique(M) );
Option 6 : bsxfun
counts6 = sum( bsxfun(@eq, M, unique(M)') )';
Option 7 : clairsemé
counts7 = full(sparse(M,1,1));