Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

pick arrays from matrix with condition

Asked by Tomas

Tomas (view profile)

on 11 May 2012

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?



Tomas (view profile)


No products are associated with this question.

1 Answer

Answer by Andrei Bobrov

Andrei Bobrov (view profile)

on 12 May 2012
Accepted answer
I = cumsum([true;diff(a(:,1))~=0]);
ii = fullfact(size(a));
out = accumarray([I(ii(:,1)), ii(:,2)],a(:))


Andrei Bobrov

Andrei Bobrov (view profile)

Contact us