Накопите векторные элементы
группы сумм данных путем накопления элементов векторного B
= accumarray(ind
,data
)data
по данным групп, заданных в ind
. Сумма затем вычисляется по каждой группе. Значения в ind
задайте и группу, данные принадлежат и индекс в выходной массив B
где каждая сумма группы хранится.
Чтобы возвратить суммы группы в порядке, задайте ind
как вектор. Затем для группы с индексом i
accumarray
возвращает его сумму в B(i)
. Например, если ind = [1 1 2 2]'
и data = [1 2 3 4]'
, затем B = accumarray(ind,data)
возвращает вектор-столбец B = [3 7]'
.
Чтобы возвратить суммы группы в другой форме, задайте ind
как матрица. Для m-by-n матричный ind
, каждая строка представляет присвоение группы и n - размерный индекс в выход B
. Например, если ind
содержит две строки формы [3 4]
, затем сумма соответствующих элементов в data
хранится в (3,4) элемент B
.
Элементы B
чей индекс не появляется в ind
заполнены 0
по умолчанию.
возвращает массив B
= accumarray(ind
,data
,sz
)B
дополненный, чтобы измерить sz
. Задайте sz
как вектор из положительных целых чисел, которые совпадают или превышают длины размерности в ind
. Дополнительные элементы в выходе заполнены 0
. Задайте sz
как []
позволять индексам в ind
определите размер выхода.
Поведение accumarray
похоже на функции groupsummary
и groupcounts
для вычислительной итоговой статистики группой и подсчетом числа элементов в группе, соответственно. Для большей группирующейся функциональности в MATLAB® смотрите Данные о Предварительной обработке.
Поведение accumarray
также похоже на тот из histcounts
функция.
histcounts
группы непрерывные значения в 1D область значений с помощью границ интервала. accumarray
данные групп с помощью n - размерные индексы.
histcounts
может только возвратить размещение интервала и количество интервалов. accumarray
может применить любую функцию к данным.
Можно подражать поведению histcounts
использование accumarray
с data = 1
.
sparse
функция также имеет поведение накопления, похожее на тот из accumarray
.
sparse
данные групп с помощью 2D индексов, тогда как accumarray
данные групп с помощью n - размерные индексы.
Для элементов с идентичными индексами, sparse
применяется sum
функция (для double
значения) или any
функция (для logical
значения), и возвращает скалярный результат в выходную матрицу. accumarray
суммы по умолчанию, но может применить любую функцию к данным.