# interp1: Interpolation In signal: Signal Processing

 interp1 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. `x` is assumed to be strictly monotonic. `xi` points at which to interpolate. `method` one of `"linear"`, `"nearest"`, `"pchip"`, `"cubic"`, `"spline"`. `extrap` 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`.

### 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/

`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")
``````

signal documentation built on June 26, 2024, 9:06 a.m.