Clear Filters
Clear Filters

How can I increase my dataset length by Interpolation?

29 views (last 30 days)
I want to increase my data set length from say 5571x1 to 5590x1 by interpolating it non linearly since this dataset is experimental and there is no fixed interval.
All i've experimented with is using 'interp' and 'interp1' but no luck so far.

Accepted Answer

Ameer Hamza
Ameer Hamza on 5 May 2020
This is a simple example which interpolates the data using cubic interpolation
x = rand(5571, 1); % your signal
t = linspace(0, 1, numel(x));
n = 5590; % required length
t_ = linspace(0, 1, n);
x_ = interp1(t, x, t_, 'spline').'; % x_ has dimensions of 5590x1
  2 Comments
Sahil Patel
Sahil Patel on 5 May 2020
Thank you! This helped, although 'spline' changed my signal data a bit. Is there a way to interpolate in such a way that existing data isnt changed?
Ameer Hamza
Ameer Hamza on 5 May 2020
You can try 'linear', 'pchip', or 'makima' in place of spline and see which fits your requirement.

Sign in to comment.

More Answers (0)

Categories

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