MATLAB Answers

help me understand accumarray

2 views (last 30 days)
Charms
Charms on 27 Oct 2019
Edited: Daniel M on 27 Oct 2019
hi i was reading on accumarray (https://www.mathworks.com/help/matlab/ref/accumarray.html) and I do not understand how matrix A was computed (attached picture) - how the second column of subs was manipulated and the zeros in A. Could someone explain how it is computed?

  0 Comments

Sign in to comment.

Accepted Answer

Daniel M
Daniel M on 27 Oct 2019
Edited: Daniel M on 27 Oct 2019
OK, so the subs matrix represent the rows and columns of the matrix A. (1, 1) represent the first row and first column. (3, 2) represents the 3rd row and 2nd column. If you don't get this, look at the document on ind2sub on this page.
Now the vals are associated with each row in subs (e.g. the first (1, 1) associated with 101, up to (4, 1) with 106). And the values get accumulated in the groups determined by the rows of subs.
Therefore, the two rows of (1, 1) have the values 101 and 104. This adds to 205, which is why A(1,1) = 205. (2, 2) are 102 and 105. Thus, A(2,2) = 207. (3,2) --> 103, A(3,2) = 103. (4,1) --> 106, A(4,1) = 106.
It's pretty clear if you look at the last image on the accumarray page.

  0 Comments

Sign in to comment.

More Answers (0)

Sign in to answer this question.