Sum values from one column vector based on another column vector

3 次查看(过去 30 天)
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

采纳的回答

DGM
DGM 2022-7-4
编辑:DGM 2022-7-4
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by