Hermitean Interpolation Polynomials
Piecewise Cubic Hermitean Interpolation Polynomials.
pchip(xi, yi, x) pchipfun(xi, yi)
xi, yi |
x- and y-coordinates of supporting nodes. |
x |
x-coordinates of interpolation points. |
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.
Values of interpolated data at points x
.
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.
Moler, C. (2004). Numerical Computing with Matlab. Revised Reprint, SIAM.
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.