|
|
◆ pchfd()
| void pchfd |
( |
int |
n, |
|
|
double |
x[], |
|
|
double |
f[], |
|
|
double |
d[], |
|
|
int |
incfd, |
|
|
int |
skip, |
|
|
int |
ne, |
|
|
double |
xe[], |
|
|
double |
fe[], |
|
|
double |
de[], |
|
|
int * |
info |
|
) |
| |
Evaluation of function and derivative values for piecewise cubic Hermite (and cubic spline) interpolation
- Purpose
- This routine evaluates a piecewise cubic Hermite function and its first derivative at an array of points. May be used by itself for Hermite interpolation, or as an evaluator for pchim, pchic, pchsp or pchse.
If only function values are required, use pchfe instead.
- Parameters
-
| [in] | n | Number of data points. (n >= 2) |
| [in] | x[] | Array x[lx] (lx >= n)
Independent variable values. The elements of x[] must be strictly increasing. |
| [in] | f[] | Array f[lf] (lf >= incfd*(n - 1) + 1)
Function values. f[i*incfd] is the value corresponding to x[i] (i = 0 to n - 1). |
| [in] | d[] | Array d[ld] (ld >= incfd*(n - 1) + 1)
Derivative values. d[i*incfd] is the value corresponding to x[i] (i = 0 to n - 1). |
| [in] | incfd | Increment between successive values in f[] and d[]. (incfd >= 1) |
| [in] | skip | Logical variable which should be set to true (1) if the user wishes to skip checks for validity of preceding parameters, or to false (0) otherwise. This will save time in case these checks have already been performed (say, in pchim, pchic, pchsp or pchse). |
| [in] | ne | Number of evaluation points. (ne >= 1) |
| [in] | xe[] | Array xe[lxe] (lxe >= ne)
Points at which the function is to be evaluated.
Notes:
- The evaluation will be most efficient if the elements of xe[] are increasing relative to x[]; that is, xe[j] >= x[i] implies xe[k] >= x[i], all k >= j.
- If any of the xe[] are outside the interval [ x[0], x[n-1] ], values are extrapolated from the nearest extreme cubic, and a warning error is returned.
|
| [out] | fe[] | Array fe[lfe] (lfe >= ne)
Values of the cubic Hermite function defined by n, x[], f[], d[] at the points xe[]. |
| [out] | de[] | Array de[lde] (lde >= ne)
Values of the first derivative of the cubic Hermite function defined by n, x[], f[], d[] at the points xe[]. |
| [out] | info | = 0: Successful exit
= -1: The argument n had an illegal value (n < 2)
= -2: The argument x[] had an illegal value (not strictly increasing)
= -5: The argument incfd had an illegal value (incfd < 1)
= -7: The argument ne had an illegal value (ne < 1)
= i > 0: Extrapolation was performed at i points |
- Reference
- SLATEC (PCHIP)
|