Накопление векторных элементов
суммирует группы данных путем накопления элементов массива вектора 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
группирует непрерывные значения в 1-D область значений с помощью границ интервала. accumarray
группирует данные с использованием n -мерных индексов.
histcounts
можно вернуть только количества интервалов и размещение интервалов. accumarray
может применить к данным любую функцию.
Можно имитировать поведение histcounts
использование accumarray
с data = 1
.
The sparse
функция также имеет поведение накопления, подобное поведению accumarray
.
sparse
группирует данные с помощью индексов 2-D, в то время как accumarray
группирует данные с использованием n -мерных индексов.
Для элементов с идентичными индексами sparse
применяет sum
функция (для double
значений) или any
функция (для logical
значения) и возвращает скалярный результат в выходной матрице. accumarray
суммирует по умолчанию, но может применить к данным любую функцию.