Collating rows based on constraints

Hi
I have the following scenario, consider the matrix a a =
1 2 10
1 2 20
2 1 11
2 2 10
2 1 1
I want to merge rows for the matrix a based on the first two columns where the first two columns have same values. My resultant should look like
res =
1 2 30
2 1 12
2 2 10
How to do so with minimal or no loops.
Thanks

 Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 10 May 2013
Edited: Azzi Abdelmalek on 10 May 2013
a=[ 1 2 10
1 2 20
2 1 11
2 2 10
2 1 1]
[ii,jj,kk]=unique(a(:,1:2),'rows','stable')
out=[ii accumarray(kk,a(:,3))]

More Answers (0)

Categories

Find more on Get Started with MATLAB 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!