Clear Filters
Clear Filters

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

3 views (last 30 days)
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.

Accepted Answer

jonas
jonas on 22 Aug 2018
Edited: jonas on 22 Aug 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 Comments
jonas
jonas on 22 Aug 2018
You're welcome! Duration (format), datetime (format) and timetables are extremely convenient when working with time-series.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!