interp1 question for resampling

30 views (last 30 days)
I am trying to use interp1 to resample my data. I have the values of forces for different timeframe lengths. (eg. I have 4 trials, trial one has 36 frames, trial 2 has 43, trial 3 has 38, tria4 has 35). To compare them have a nice figure, I want to <<expand>> the number of frames to 100 for each of them (like it would be 1-100% of the timeframe).
I used resample in the beginning, but I get some noise in the beginning and the end of the signal.
dif_Fx = (resample(dif(1:motion_length,1),100,motion_length))
(motion_length is the number of frames and dif is my signal)
I tried to use interp1 as
dif_Fx = (interp1((dif(1:motion_length,1)),1:1:100));
dif_Fx is just the signal (dif), and the rest of the values, from motion_length+1 to 100 are NaN.
I have read again and again the documentation, but I can;t seem to understand how to modify it to get what I want.
Any help is much appreciated.

Accepted Answer

Star Strider
Star Strider on 11 Apr 2021
To prevent the NaN results from being part of the interp1 output, specify an interpolation method and use the 'extrap' argument. See the function documentation for details.
  8 Comments
Andra Topan
Andra Topan on 12 Apr 2021
Thank you so much! This was really helpful.
It woked with minor tweaks.
Star Strider
Star Strider on 12 Apr 2021
As always, my pleasure!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!