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

 Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 10 Mai 2013
Bearbeitet: Azzi Abdelmalek am 10 Mai 2013

2 Stimmen

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))]

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by