accumarray
Agrupa valores por índice e soma cada grupo.
Categoria: Data Import and Analysis > Preprocessing Data
Sintaxe
A = accumarray(subs, vals)
Soma os elementos de vals que têm o mesmo valor em subs.
Descrição
accumarray é uma forma compacta de calcular totais por grupo, um histograma com pesos ou uma contagem por categoria. Pense em subs como rótulos de grupo e em vals como os dados: a saída na posição k reúne tudo o que foi rotulado com k.
Usar um escalar em vals (por exemplo 1) conta quantas vezes cada índice ocorre.
Argumentos de entrada
subs- Vetor coluna de índices inteiros positivos; cada um diz qual elemento da saída recebe o valor correspondente.
vals- Vetor coluna de valores, um por índice, ou um escalar somado uma vez por índice.
Argumentos de saída
A- Vetor coluna de comprimento
max(subs); o elementoké a soma dos valores cujo índice ék. Posições que nunca aparecem guardam0.
Exemplo
Totais por grupo
subs = [1; 2; 1; 3];
vals = [10; 20; 30; 40];
accumarray(subs, vals)
accumarray([2; 3; 3; 3], 1)
Saída
ans = 3×1
40
20
40
ans = 3×1
0
1
3