pchip: Hermitean Interpolation Polynomials

View source: R/pchip.R

pchipR Documentation

Hermitean Interpolation Polynomials

Description

Piecewise Cubic Hermitean Interpolation Polynomials.

Usage

pchip(xi, yi, x)

pchipfun(xi, yi)

Arguments

xi, yi

x- and y-coordinates of supporting nodes.

x

x-coordinates of interpolation points.

Details

pchip is a ‘shape-preserving’ piecewise cubic Hermite polynomial approach that apptempts to determine slopes such that function values do not overshoot data values. pchipfun is a wrapper around pchip and returns a function. Both pchip and the function returned by pchipfun are vectorized.

xi and yi must be vectors of the same length greater or equal 3 (for cubic interpolation to be possible), and xi must be sorted. pchip can be applied to points outside [min(xi), max(xi)], but the result does not make much sense outside this interval.

Value

Values of interpolated data at points x.

Author(s)

Copyright of the Matlab version from Cleve Moler in his book “Numerical Computing with Matlab”, Chapter 3 on Interpolation. R Version by Hans W. Borchers, 2011.

References

Moler, C. (2004). Numerical Computing with Matlab. Revised Reprint, SIAM.

See Also

interp1

Examples

x <- c(1, 2, 3, 4, 5, 6)
y <- c(16, 18, 21, 17, 15, 12)
pchip(x, y, seq(1, 6, by = 0.5))
fp <- pchipfun(x, y)
fp(seq(1, 6, by = 0.5))

## Not run: 
plot(x, y, col="red", xlim=c(0,7), ylim=c(10,22),
     main = "Spline and 'pchip' Interpolation")
grid()

xs <- seq(1, 6, len=51)
ys <- interp1(x, y, xs, "spline")
lines(xs, ys, col="cyan")
yp <- pchip(x, y, xs)
lines(xs, yp, col = "magenta")
## End(Not run)

pracma documentation built on Nov. 10, 2023, 1:14 a.m.