Как насчет использования что-то вроде этого:
X = randn(744,2);
[a,b] = size(X);
edges = num2cell([linspace(min(X(1,:)),max(X(1,:)),a/5); linspace(min(X(2,:)), max(X(2,:)),a/5)],2);
# not sure if it's the same histcnd, the one I found wants edges to be a cell array
H = histcnd(X, edges);
Вы, вероятно, можете выбрать минимальные / максимальные значения для каждой оси более интеллектуальным способом, если вам что-то известно о ваших данных.