Filter löschen
Filter löschen

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

3 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by