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

3 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

jonas
jonas le 22 Août 2018
Modifié(e) : jonas le 22 Août 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 commentaires
Austin Sowers
Austin Sowers le 22 Août 2018
It looks like it worked! Thank you so much! I have been trying to do this for a week.
jonas
jonas le 22 Août 2018
You're welcome! Duration (format), datetime (format) and timetables are extremely convenient when working with time-series.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by