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

data setincrementinterpolationtime

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.

Best Answer

  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.