Is there a multiplicative accumarray function?
조회 수: 1 (최근 30일)
이전 댓글 표시
I am using accumarray to additively accumulate numbers with a code like the following:
wts = accumarray([P(:,2),P(:,1)],P(:,3),size(net));
Is there a function, or a simple vectorized method, to do the exact same thing with one difference: instead of adding the numbers, multiply them?
If accumarray finds numbers N1, N2, N3... it will add them as N1+N2+N3...
However, I want a function to multiply them as N1*N2*N3...
Thanks
댓글 수: 0
답변 (1개)
the cyclist
2014년 3월 14일
편집: the cyclist
2014년 3월 14일
accumarray() takes an optional fourth argument, which is the function to apply. You should be able to add @prod to do what you want.
Here is the example from the documentation:
val = 101:105;
subs = [1 1; 2 1; 2 3; 2 1; 2 3];
A = accumarray(subs, val, [2 4], @prod, 0, true)
Read
doc accumarray
for details.
댓글 수: 0
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!