How to create a new data set, from an existing data set, with a different time increment than the original

5 visualizaciones (últimos 30 días)
Suppose you have a very large x, y data set where "x" is time and "y" is some known value. The time increment for "x" is 0.02 seconds. "y" is known at every 0.02 seconds. I would like to change the time increment to 0.010269 seconds and use the known "y" values to find the new "y" values for the 0.010269 increment based off of a linear interpolation between the known original "y" values.

Respuesta aceptada

jonas
jonas el 22 de Ag. de 2018
Editada: jonas el 22 de Ag. de 2018
  1. Convert x to duration array
  2. Build a timetable with x and y
  3. Use retime with timestep set to 0.010269
Provide data if you want code.
As a sidenote: based on the very specific timestep I'm guessing you want to align this time-series with another time-series. If that is the case, then simply use the duration array of the other time-series as input to retime.
  7 comentarios
Austin Sowers
Austin Sowers el 22 de Ag. de 2018
It looks like it worked! Thank you so much! I have been trying to do this for a week.
jonas
jonas el 22 de Ag. de 2018
You're welcome! Duration (format), datetime (format) and timetables are extremely convenient when working with time-series.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Type Conversion 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!

Translated by