Sum values from one column vector based on another column vector

2 views (last 30 days)
Allison Sims
Allison Sims on 4 Jul 2022
Commented: Allison Sims on 4 Jul 2022
How do I compute this without using any loops or conditionals?
I want to sum the values in column B based on if the value in column A is a 1
So for example I want to add 34 and 28 only and save it to a new variable
A B
1 34
2 78
4 3
1 28

Accepted Answer

DGM
DGM on 4 Jul 2022
Edited: DGM on 4 Jul 2022
Assuming A and B are different variable names with the same length:
A = [1; 2; 4; 1];
B = [34; 78; 3; 28];
mysum = sum(B(A==1),'all')
mysum = 62
Assuming they're both columns in the same array:
A = [1 34; 2 78; 4 3; 1 28];
mysum = sum(A(A(:,1)==1,2),'all')
mysum = 62

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!

Translated by