Sum values from one column vector based on another column vector

조회 수: 2 (최근 30일)
Allison Sims
Allison Sims 2022년 7월 4일
댓글: Allison Sims 2022년 7월 4일
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