Effacer les filtres
Effacer les filtres

using a for loop to find the mean of a set of data

1 vue (au cours des 30 derniers jours)
Kacey Lange
Kacey Lange le 26 Juil 2022
Commenté : Matt J le 26 Juil 2022
I am trying to use a for loop to find the mean of of the first and eigth row of data, second and ninth row of data, third and tenth row of data, ect ect until I reach the seventh and fourteeth row of data. I have a 84x1 double and so my output i am expecting is a 42x1 double as I have 6 sets of data. I have tried somethign similar to this:
out = splitapply(@mean,TSMo,ceil((1:numel(TSMo))'/7));
My matrix is TSMo. But that averages every 1-7 rows.

Réponse acceptée

Matt J
Matt J le 26 Juil 2022
Modifié(e) : Matt J le 26 Juil 2022
out = mean( reshape(TSMo,7,2,6) ,2);
out=out(:);
  3 commentaires
Kacey Lange
Kacey Lange le 26 Juil 2022
Right now I have six sets of data, but I am currently collecting more. Is there another way I could get this same outcome without changing this lien of code everytime I have new data?
Matt J
Matt J le 26 Juil 2022
Assuming the magic jump interval is always 7, you can do,
out = mean( reshape(TSMo,7,2,[]) ,2);
Otherwise, you must add parameters to your code for the jump interval.

Connectez-vous pour commenter.

Plus de réponses (1)

David Hill
David Hill le 26 Juil 2022
T=randi(100,84,1);
m=mean(reshape(T,7,[]),2);

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by