Функция histcounts
будет "стандартным" способом сделать это:
data = abs(sin(0:.1:10)*10); %example data
steps = 1:10; %user-defined bins
hc = histcounts( data, steps );
>> hc =
[ 7 7 7 8 9 7 10 11 27 ]
Обратите внимание, что hc
на один элемент меньше, чем steps
, потому что steps
определяет края бункера. Общее число sum(hc)
равно количеству элементов в data
, которое попало между самым низким и самым высоким бинами - в этом случае меньше, чем numel(data)
, потому что некоторые элементы data
имеют более низкое значение, чем ваш самый низкий бин вsteps
.
В histcounts
имеется множество опций для возврата ребер ячейки, указания количества корзин, а не ребер, возврата номера ячейки для каждого элемента и т. Д. *
Если все, что вам на самом деле нужно, - это гистограмма (отмеченная в вашем комментарии), вы можете использовать histogram
, который вызывает histcounts
скрытые данные для вычисления, но также выводит цифру.
histogram( data, steps );