Perform cubic spline monotonic interpolation of given data points, returning either a list of points obtained by the interpolation or a function performing the interpolation. The splines are constrained to be monotonically increasing (i.e., the slope is never negative).
Usage
cm.splinefun(x, y = NULL, ...)
cm.spline(x, y = NULL, n = 3*length(x),
xmin = min(x), xmax = max(x), ...)
Arguments
x,y
vectors giving the coordinates of the points to be interpolated. Alternatively a single plotting structure can be specified: see xy.coords.
n
interpolation takes place at n equally spaced points spanning the interval [xmin, xmax].
xmin
left-hand endpoint of the interpolation interval.
xmax
right-hand endpoint of the interpolation interval.
...
Other arguments are ignored.
Value
cm.spline
returns a list containing components x and y which give the ordinates where interpolation took place and the interpolated values.
cm.splinefun
returns a function which will perform cubic spline interpolation of the given data points. This is often more useful than spline.
Details
From version 1.14 in R 2.15.2 or later, these are simply wrappers to the spline and splinefun functions from the
stats package.
References
Forsythe, G. E., Malcolm, M. A. and Moler, C. B. (1977) Computer Methods for Mathematical Computations.
Hyman (1983) SIAM J. Sci. Stat. Comput.4(4):645-654.
Dougherty, Edelman and Hyman 1989 Mathematics of Computation, 52: 471-494.
# NOT RUN {x <- seq(0,4,l=20)
y <- sort(rnorm(20))
plot(x,y)
lines(spline(x, y, n = 201), col = 2) # Not necessarily monotoniclines(cm.spline(x, y, n = 201), col = 3) # Monotonic# }