cm.spline: Monotonic interpolating splines

cm.splineR Documentation

Monotonic interpolating splines

Description

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.spline(x, y = NULL, n = 3 * length(x), xmin = min(x), xmax = max(x), ...)

cm.splinefun(x, y = NULL, ...)

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.

Details

These are simply wrappers to the splinefun function family from the stats package.

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.

Author(s)

Rob J Hyndman

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.

Examples

x <- seq(0,4,l=20)
y <- sort(rnorm(20))
plot(x,y)
lines(spline(x, y, n = 201), col = 2) # Not necessarily monotonic
lines(cm.spline(x, y, n = 201), col = 3) # Monotonic

demography documentation built on Feb. 16, 2023, 7:02 p.m.