Interpolation and missing values
18 views (last 30 days)
I have a series of data given by an x array and a corresponding y array. The arrays are equal in size. The x array is approximately equally spaced, but it has a few small gaps, and some very large gaps. I would like to interpolate to get numeric values in the small gaps, but I'd like to replace the big gaps with NaNs.
Here is an example of some small gaps, and one big gap. I'd like to replace the obviously incorrect interpolation with NaNs. How can I do this?
% create some data:
x = 0:.02:15;
y = sin(x);
% create some holes in the data
x([3 25 32:33 200:280 410:415]) = ;
y([3 25 32:33 200:280 410:415]) = ;
plot(x,y,'ko'); hold on
% the interpolation I'd like to improve:
xi = 0:.015:15;
yi = interp1(x,y,xi,'cubic');