Time align data-sets and get the missing values with interpolation

4 views (last 30 days)
Hello! Everyone,
I have two datasets which are logged at different rates. I am trying to time align these two data sets and after the data is time aligned i want to interpolate the and get the missing data values. I used a concept of timetables for time alignment but its taking forever to align that way. Can any one please suggest me how can i time align data and then fill up rest of missing data with the help of interpolation.
Thanks

Accepted Answer

KSSV
KSSV on 22 May 2018
You can do interpolation to get both the data sets to same time stamps. Read about interp1. After you get both the data's into same time, again you can use interp1 to get missing data. Or if you are using MATLAB 2016b or higher you can have a look on fillmissing to get the missing data.
  3 Comments
Matthew Hanks
Matthew Hanks on 20 Aug 2018
When you use the synchronize function, try instead using this: newdata=synchronize(Anew,Bnew,'Uniform','Interval',0.001);
Peter Perkins
Peter Perkins on 24 Aug 2018
Matthew, I think you're looking at the timeSERIES synchronize method. sc1991 is using the timeTABLE method (I think).
sc1991, take a look at the documentation for synchronize, in particular, the METHOD. I imagine you want something like 'linear' or 'spline'. The default is 'fillwithmissing', which is where all those NaNs are coming from.
I imagine you probably also want to align one timetable to the other, not align them both to the union of times. Take a look at the NewTimeBasis input.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Preprocessing 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!