Learn R Programming

signal (version 1.8-0)

pchip: Piecewise cubic hermite interpolation

Description

Piecewise cubic hermite interpolation.

Usage

pchip(x, y, xi = NULL)

Value

Normally, the interpolated signal, an array of length(xi).

if xi == NULL, a list of class pp, a piecewise polynomial representation with the following elements:

x

breaks between intervals.

P

a matrix with n times d rows and k columns. The ith row of P, P[i,], contains the coefficients for the polynomial over the ith interval, ordered from highest to lowest. There must be one row for each interval in x.

n

number of intervals (length(x) - 1).

k

polynomial order.

d

number of polynomials.

Arguments

x,y

vectors giving the coordinates of the points to be interpolated. x must be strictly monotonic (either increasing or decreasing).

xi

points at which to interpolate.

Author

Original Octave version by Paul Kienzle pkienzle@user.sf.net. Conversion to R by Tom Short.

Details

In contrast to spline, pchip preserves the monotonicity of x and y.

References

Fritsch, F. N. and Carlson, R. E., “Monotone Piecewise Cubic Interpolation”, SIAM Journal on Numerical Analysis, vol. 17, pp. 238-246, 1980.

Octave Forge https://octave.sourceforge.io/

See Also

approx, spline, interp1

Examples

Run this code
xf <- seq(0, 11, length=500)
yf <- sin(2*pi*xf/5)
xp <- c(0:10)
yp <- sin(2*pi*xp/5)
pch  <- pchip(xp, yp, xf)
plot(xp, yp, xlim = c(0, 11))
lines(xf, pch, col = "orange")

Run the code above in your browser using DataLab