Assume you have an array of values that will need to be summed together
d = [1,1,1,1,1]
and a second array specifying which elements need to be summed together
i = [0,0,1,2,2]
The result will be stored in a new array of size max(i)+1
. So for example i=[0,0,0,0,0]
would be equivalent to summing all the elements of d
and storing the result at position 0
of a new array of size 1
.
I tried to implement this using
c = zeros(max(i)+1)
c[i] += d
However, the +=
operation adds each element only once, thus giving the unexpected result of
[1,1,1]
instead of
[2,1,2]
How would one correctly implement this kind of summation?
d
were unique. For instance, ifd = [0,1,2,3,4]
Im guessing for
i = [0,0,0,0,0]` you wantc = [10]
, while fori = [0,0,1,2,2]
you wantc = [1,2,7]
? – Pardo