How to ignore certain columns in a matrix when calculating a mean across all columns in a matrix?
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tomaszzz
le 16 Mar 2022
Commenté : Davide Masiello
le 16 Mar 2022
Hi all,
I have a 100x16 double matrix (attached) which when plotted over one figure looks like this.
Now, I want to calculate the mean across all columns in the matrix so that the output is a 100x 1 double. I can do this by following
load 'data'
figure
plot(S_or_z(:,1:8),'r')
hold on
plot(S_or_z(:,9:end),'b')
% get mean
S_or_z_meancycle = mean(S_or_z, 2);
However, when calcuating the mean, I would like ignore the columns indicated in red.
The rule that I would like to apply is that the columns which range (max-min) exceeds 200 should be ignored when calcuating the mean accross all columns.
Can you help please?
0 commentaires
Réponse acceptée
Davide Masiello
le 16 Mar 2022
Modifié(e) : Davide Masiello
le 16 Mar 2022
See if this works
new_S_or_z = S_or_z(:,(max(S_or_z,[],1)-min(S_or_z,[],1)) < 200);
plot(new_S_or_z)
mean(new_S_or_z,[],2)
2 commentaires
Davide Masiello
le 16 Mar 2022
Yes, you're right! I got the syntax for "min" and "max" mixed up with the one for "mean", sorry about that.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices 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!