How to take the average every 5 data points?
17 次查看(过去 30 天)
显示 更早的评论
I have a matrix 'GoogleDateClose' that is 251 by 2. The first column is just 1-252 to give a number assigned to each value in column 2. In column 2 I have all the data points. I need to write a script to take the mean of every 5 data points and put the resulting values into another matrix so I am able to plot those values. I feel like I did a poor job of describing what I am trying to get so please let me know if I can clarify.
2 个评论
Christopher Wallace
2018-9-18
Do you mean take every 5th value (5, 10, 15) and then take the mean or take values 1-5 and calculate the mean and then take values 6-10 and calculate the mean
采纳的回答
Image Analyst
2018-9-18
251 or 251 is not a multiple of 5. So here it is for 250:
data = [(1:252)', rand(252, 1)] % Create sample data
column2 = data(:, 2);
out = reshape(column2(1:250), [], 5)
means5 = mean(out, 2)
4 个评论
chris pamp
2022-9-10
Thank you for your answer. I want 500 elements to each block. To have leftovers is not a problem
Image Analyst
2022-9-10
编辑:Image Analyst
2022-9-10
Did you try something obvious like a for loop?
counter = 1;
for k = 1 : 500 : length(yourVector)
k2 = min([k + 499, length(yourVector)]);
theMeans(counter) = mean(yourVector(k : k2));
counter = counter + 1;
end
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!