pick arrays from matrix with condition
1 view (last 30 days)
Show older comments
Hi, I have a matrix:
2 2 2 1
2 2 1 1
1 1 9 1
2 2 0 1
I need to pick rows that have same first number and sum them, but order of picking is important. In this case i need to pick first two rows and sum, then pick third and finaly fourth row; after that all the first numbers of column of new matrix should be the same depending on matrix sumed, so in the end there should be:
2 4 3 2
1 1 9 1
2 2 0 1
Any suggestions?
0 Comments
Accepted Answer
Andrei Bobrov
on 12 May 2012
I = cumsum([true;diff(a(:,1))~=0]);
ii = fullfact(size(a));
out = accumarray([I(ii(:,1)), ii(:,2)],a(:))
0 Comments
More Answers (0)
See Also
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!