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

1 次查看(过去 30 天)
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.

采纳的回答

Matt J
Matt J 2022-7-26
编辑:Matt J 2022-7-26
out = mean( reshape(TSMo,7,2,6) ,2);
out=out(:);
  3 个评论
Kacey Lange
Kacey Lange 2022-7-26
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 2022-7-26
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.

请先登录,再进行评论。

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by