Last chance! 50% off unlimited learning
Sale ends in
Interpolation methods, including linear, spline, and cubic interpolation.
interp1(x, y, xi, method = c("linear", "nearest", "pchip", "cubic", "spline"),
extrap = NA, …)
vectors giving the coordinates of the points to be
interpolated. x
is assumed to be strictly monotonic.
points at which to interpolate.
one of "linear"
, "nearest"
, "pchip"
, "cubic"
, "spline"
.
if TRUE
or 'extrap'
, then extrapolate values beyond
the endpoints. If extrap
is a number, replace values beyond the
endpoints with that number (defaults to NA
).
for method='spline'
, additional arguments passed to splinefun
.
The interpolated signal, an array of length(xi)
.
The following methods of interpolation are available:
'nearest'
: return nearest neighbour
'linear'
: linear interpolation from nearest neighbours
'pchip'
: piecewise cubic hermite interpolating polynomial
'cubic'
: cubic interpolation from four nearest neighbours
'spline'
: cubic spline interpolation--smooth first and second
derivatives throughout the curve
Octave Forge http://octave.sf.net
# NOT RUN {
xf <- seq(0, 11, length=500)
yf <- sin(2*pi*xf/5)
#xp <- c(0:1,3:10)
#yp <- sin(2*pi*xp/5)
xp <- c(0:10)
yp <- sin(2*pi*xp/5)
extrap <- TRUE
lin <- interp1(xp, yp, xf, 'linear', extrap = extrap)
spl <- interp1(xp, yp, xf, 'spline', extrap = extrap)
pch <- interp1(xp, yp, xf, 'pchip', extrap = extrap)
cub <- interp1(xp, yp, xf, 'cubic', extrap = extrap)
near <- interp1(xp, yp, xf, 'nearest', extrap = extrap)
plot(xp, yp, xlim = c(0, 11))
lines(xf, lin, col = "red")
lines(xf, spl, col = "green")
lines(xf, pch, col = "orange")
lines(xf, cub, col = "blue")
lines(xf, near, col = "purple")
# }
Run the code above in your browser using DataLab