Sum every element in matrix per group

4 visualizzazioni (ultimi 30 giorni)
Joes de Jonge
Joes de Jonge il 16 Giu 2021
Risposto: SALAH ALRABEEI il 16 Giu 2021
Let A = [1, 4; 5, 6] and b = [1, 1, 1, 2]. A is here the matrix with the values and b the matrix with the group labels. I would like to sum every item in A according to their label such that I would get something back like c = [10, 6] where thus the labels of b correspond to the indices of c.
How can this be done in MatLab? I already saw accumarray is a logical function to use but it doesn't work on values that aren't vectors.

Risposte (1)

SALAH ALRABEEI
SALAH ALRABEEI il 16 Giu 2021
d = unique(b);
c = [];for i=1:length(d)
c=[c,sum(a(b==d(i)))];
end

Categorie

Scopri di più su Structures in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by