Создайте массив с накоплением
возвращает массив A = accumarray(subs,val)A путем накопления элементов векторного val использование индексов subs. Если subs вектор-столбец, затем каждый элемент задает соответствующий индекс в выходе, который является также вектор-столбцом. accumarray функция собирает все элементы val это имеет идентичные индексы в subs и хранит их сумму в месте A соответствие тому индексу (для индекса i, A(i)=sum(val(subs(:)==i))). Элементы A чьи индексы не появляются в subs равны 0.
Для m- n матричный subs, каждая строка представляет n- размерный индекс в выход A. ith строка subs соответствует ith элементу в векторном val.
возвращает массив, A = accumarray(subs,val,sz)A, с размером sz. Задайте sz как вектор из положительных целых чисел, чтобы задать размер выхода, или как [] позволять индексам в subs определите размер выхода. Используйте sz когда subs не ссылается на запаздывание строк, столбцов или размерностей, что требуется присутствовать в выходе.
Поведение accumarray похоже на тот из histcounts функция. Оба данных группы функций в интервалы.
histcounts группы непрерывные значения в 1D область значений с помощью границ интервала. accumarray данные групп с помощью n - размерные индексы.
histcounts возвращает размещение интервала и/или количество интервалов. Однако accumarray может применить любую функцию к сгруппированным данным.
Можно подражать поведению histcounts использование accumarray с val = 1.
sparse функция также имеет поведение накопления, похожее на тот из accumarray.
sparse данные групп в интервалы с помощью 2D индексов, тогда как accumarray данные групп в интервалы с помощью n - размерные индексы.
Для элементов с идентичными индексами, sparse применяется sum функция (для двойных значений) или any функция (для логических значений) и возвращает скалярный результат в выходную матрицу. accumarray суммы по умолчанию, но может применить любую функцию к интервалам.
full | histcounts | sparse | sum