How to get sum of all the order values for a given id of a column in matrix

4 views (last 30 days)
i have 2 columns and 10 rows
1 10
2 29
2 34
2 79
3 11
3 20
3 11
4 9
4 1
5 10
i want the add numbers having same value in first column The answer i want is using loop or any other operation
1 10
2 142
3 42
4 10
5 10

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 19 Dec 2014
Edited: Azzi Abdelmalek on 19 Dec 2014
A=[1 10;2 29;2 34;2 79;3 11;3 20;3 11;4 9;4 1;5 10]
out=[unique(A(:,1)) accumarray(A(:,1),A(:,2))]
  1 Comment
Mitul saraiya
Mitul saraiya on 20 Dec 2014
Actually i have to work on a matrix with 2 columns but more than 100 rows when i tried using accumarray it gives error as Error using horzcat Dimensions of matrices being concatenated are not consistent.
Error in mm (line 26) out=[unique(mannu(:,1)) accumarray(mannu(:,1),mannu(:,2))];
mannu is the matrix with 2 columns and 100 rows

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!