How to calculate mean to an equal area in Matlab?

4 visualizaciones (últimos 30 días)
Xuefei Sun
Xuefei Sun el 22 de Feb. de 2021
Comentada: Xuefei Sun el 22 de Feb. de 2021
I have 900000 time data and 900000 speed data. I need to calculate the mean speed for each 30secs and plot them. How can I get that? Thank you!
  2 comentarios
James Tursa
James Tursa el 22 de Feb. de 2021
Running average, or average of blocks? Is the time data equally spaced?
Xuefei Sun
Xuefei Sun el 22 de Feb. de 2021
Yes, the time data is equally spaced from 1 sec to 900000 sec. And I should calculate mean speed for each 3 sec. Like from 1 to 3, 4 to 6, 7 to 9, ect. And plot them

Iniciar sesión para comentar.

Respuesta aceptada

James Tursa
James Tursa el 22 de Feb. de 2021
Editada: James Tursa el 22 de Feb. de 2021
n = 3; % or whatever number of samples you need, must be divisible into size of data
time_average = mean(reshape(time_data,n,[]));
speed_average = mean(reshape(speed_data,n,[]));
plot(time_average,speed_average)
  3 comentarios
Xuefei Sun
Xuefei Sun el 22 de Feb. de 2021
But I still have another problem. If I block the time, it seems like the mean speed responding to a certain time(the mean time). But I want to plot the speed sustained in that 3 sec. I mean I want to plot a stragnt line in each 3 sec. Could you teach me how to do that?
Xuefei Sun
Xuefei Sun el 22 de Feb. de 2021
I delete mean for the time_average, and I got it then. Thank you so much.
time_average = reshape(time_data,n,[]);
speed_average = mean(reshape(speed_data,n,[]));
plot(time_average,speed_average)

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by