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?