sum a column depending on another column

10 views (last 30 days)
Hi there,
I would like to sum values in a column where a criterion has been met in another column in a corresponding row of a matrix.
take the matrix:
xx 6 xx 1;
xx 9 xx 0;
xx 10 xx 1;
I want to sum the second column but only for rows where the fourth column is equal to one.
Hence, using the example, I would hope to have a solution of 16.
Any help with this simple problem is greatly appreciated.
James

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 2 Aug 2012
out = sum(A(A(:,4)~=0,2))

More Answers (1)

Conrad
Conrad on 2 Aug 2012
Something like this:
% Dummy data.
A =[ NaN 6 NaN 1;...
NaN 9 NaN 0;...
NaN 10 NaN 1];
idx = A(:,4)==1;
s = sum(A(idx,2));

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!