| pchip {pracma} | R 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
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)