Effacer les filtres
Effacer les filtres

How to perform calculations on common elements of an array

2 vues (au cours des 30 derniers jours)
harshpurohit11
harshpurohit11 le 20 Juin 2018
Commenté : harshpurohit11 le 21 Juin 2018
I have A_names =[a,a,a,b,b,c,c,c,c]; B_values = [1,2,3,2,2,3,4,4,4]; length(A_names) = length(B_values). I need to find average of B_values for the common elements of A_names

Réponse acceptée

Image Analyst
Image Analyst le 20 Juin 2018
If you have the Statistics and Machine Learning Toolbox, use grpstats() - that's what it's meant for - to get statistics by group.
A_names = {'a';'a';'a';'b';'b';'c';'c';'c';'c'}
B_values = [1,2,3,2,2,3,4,4,4]
t = table(A_names, B_values')
output = grpstats(t, 1)
  1 commentaire
harshpurohit11
harshpurohit11 le 21 Juin 2018
Thank you so much. This is exactly what I was looking for

Connectez-vous pour commenter.

Plus de réponses (1)

Adam Danz
Adam Danz le 20 Juin 2018
You can loop through unique values of A_names. Here's a hint to get you started.
A_names ={'a','a','a','b','b','c','c','c','c'};
unqA = unique(A_names);
m = mean(B_values(strcmp(A_names,unqA{1})));

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by