Upsampling the data using interpolation gives NaN values.
8 views (last 30 days)
Show older comments
Hello everyone,
I have the data of size 2173x1. I want to increase the number of samples to length of 2225570x1 using interpolation/resampling.
I tried using interp1 function and ended up having the required length, but NaN values after 2173 samples.
Thanks in advance.
0 Comments
Accepted Answer
Star Strider
on 26 Sep 2019
Use the 'extrap' argument in interp1.
Example —
D = load('x.mat');
x = D.x;
v = 1:numel(x);
ve = 1:2225570;
x_extended = interp1(v, x, ve, 'linear','extrap');
This is dangerous, because you have no idea what ‘x’ actually would be beyond its current definition. I would definitely avoid that.
However you can completely avoid all those problems if you simply want more points in ‘x’:
vr = linspace(min(v), max(v), 2225570);
x_resampled = interp1(v, x, vr);
Experiment to get the result you want.
2 Comments
More Answers (0)
See Also
Categories
Find more on Multirate Signal Processing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!