interp1 {signal} | R Documentation |
Interpolation
Description
Interpolation methods, including linear, spline, and cubic interpolation.
Usage
interp1(x, y, xi, method = c("linear", "nearest", "pchip", "cubic", "spline"),
extrap = NA, ...)
Arguments
x , y |
vectors giving the coordinates of the points to be
interpolated. |
xi |
points at which to interpolate. |
method |
one of |
extrap |
if |
... |
for |
Details
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
Value
The interpolated signal, an array of length(xi)
.
Author(s)
Original Octave version by Paul Kienzle pkienzle@user.sf.net. Conversion to R by Tom Short.
References
Octave Forge https://octave.sourceforge.io/
See Also
approx
, filter
,
resample
, interp
, spline
Examples
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")