e01bec estimates first derivatives at the set of data points
, for
, which determine a piecewise cubic Hermite interpolant to the data, that preserves monotonicity over ranges where the data points are monotonic. If the data points are only piecewise monotonic, the interpolant will have an extremum at each point where monotonicity switches direction. The estimates of the derivatives are computed by a formula due to Brodlie, which is described in
Fritsch and Butland (1984), with suitable changes at the boundary points.
The algorithm is derived from routine PCHIM in
Fritsch (1982).
Values of the computed interpolant can subsequently be computed by calling
e01bfc.
Fritsch F N and Butland J (1984) A method for constructing local monotone piecewise cubic interpolants SIAM J. Sci. Statist. Comput. 5 300–304
The computational errors in the array
d should be negligible in most practical situations.
Background information to multithreading can be found in the
Multithreading documentation.
The values of the computed interpolant at the points
, for
, may be obtained in the real array
pf, of length at least
, by the call:
e01bfc (n, x, f, d, m, px, pf, &fail)
where
n,
x and
f are the input arguments to
e01bec and
d is the output argument from
e01bec.
This example program reads in a set of data points, calls
e01bec to compute a piecewise monotonic interpolant, and then calls
e01bfc to evaluate the interpolant at equally spaced points.