Создайте массив с накоплением
возвращает массив 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