Down-sampling with interp1

45 views (last 30 days)
PPM
PPM on 8 Jan 2016
Commented: PPM on 8 Jan 2016
Hi,
I have a vector with 1500 rows, and I am trying to down-sample this using interp1 like this:
downsampled = interp1([1:length(original)],original,1:1:100);
However, it looks like the output "downsampled' is just a copy of the first 100 rows of original. Any hints on this?
Cheers

Accepted Answer

Walter Roberson
Walter Roberson on 8 Jan 2016
oL = length(original);
downsampled = interp1(1:oL, original, linspace(1,oL,100));
However please think about whether you want 100 points output or 101 points output. If you want to divide into 100 segments of equal length then you want 101 points output.
  1 Comment
PPM
PPM on 8 Jan 2016
Thanks Walter. Indeed, I need 101 points. Regards

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!