How to take the average every 5 data points?
23 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Noah Wilson
el 18 de Sept. de 2018
Editada: Image Analyst
el 10 de Sept. de 2022
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 comentarios
Christopher Wallace
el 18 de Sept. de 2018
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
Respuesta aceptada
Image Analyst
el 18 de Sept. de 2018
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 comentarios
chris pamp
el 10 de Sept. de 2022
Thank you for your answer. I want 500 elements to each block. To have leftovers is not a problem
Image Analyst
el 10 de Sept. de 2022
Editada: Image Analyst
el 10 de Sept. de 2022
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
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!