Filter löschen
Filter löschen

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

1 Ansicht (letzte 30 Tage)
Kacey Lange
Kacey Lange am 26 Jul. 2022
Kommentiert: Matt J am 26 Jul. 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.

Akzeptierte Antwort

Matt J
Matt J am 26 Jul. 2022
Bearbeitet: Matt J am 26 Jul. 2022
out = mean( reshape(TSMo,7,2,6) ,2);
out=out(:);
  3 Kommentare
Kacey Lange
Kacey Lange am 26 Jul. 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 am 26 Jul. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

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

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by