Sum values from one column vector based on another column vector

3 vues (au cours des 30 derniers jours)
Allison Sims
Allison Sims le 4 Juil 2022
Commenté : Allison Sims le 4 Juil 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

Réponse acceptée

DGM
DGM le 4 Juil 2022
Modifié(e) : DGM le 4 Juil 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

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by