The SPL_INIT function is called to establish the type of interpolating spline for a tabulated set of functional values Xi, Yi = F(Xi).
It is important to realize that SPL_INIT should be called only once to process an entire tabulated function in arrays X and Y. Once this has been done, values of the interpolated function for any value of X can be obtained by calls (as many as desired) to the separate function SPL_INTERP.
Examples
Example 1
X = (FINDGEN(21)/20.) * 2.0*!PI
Y = SIN(X)
PRINT, SPL_INIT(X, Y, YP0 = -1.1, YPN_1 = 0.0)
IDL Prints:
23.1552 -6.51599 1.06983 -1.26115 -0.839544 -1.04023
-0.950336 -0.817987 -0.592022 -0.311726 2.31192e-05 0.311634
0.592347 0.816783 0.954825 1.02348 0.902068 1.02781
-0.198994 3.26597 -11.0260
Example 2
PRINT, SPL_INIT(X, Y, YP0 = -1.1)
IDL prints:
23.1552 -6.51599 1.06983 -1.26115 -0.839544 -1.04023
-0.950336 -0.817988 -0.592020 -0.311732 4.41521e-05 0.311555
0.592640 0.815690 0.958905 1.00825 0.958905 0.815692
0.592635 0.311567 0.00000
Syntax
Result = SPL_INIT( X, Y [, /DOUBLE] [, YP0=value] [, YPN_1=value] )
Return Value
Returns the values of the 2nd derivative of the interpolating function at the points Xi.
Arguments
X
An n-element input vector that specifies the tabulate points in ascending order.
Y
An n-element input vector that specifies the values of the tabulated function F(Xi) corresponding to Xi.
Keywords
DOUBLE
Set this keyword to force the computation to be done in double-precision arithmetic.
YP0
The first derivative of the interpolating function at the point X0. If YP0 is omitted, the second derivative at the boundary is set to zero, resulting in a “natural spline.”
YPN_1
The first derivative of the interpolating function at the point Xn-1. If YPN_1 is omitted, the second derivative at the boundary is set to zero, resulting in a “natural spline.”
Version History
Resources and References
SPL_INIT is based on the routine spline described in section 3.3 of Numerical Recipes in C: The Art of Scientific Computing (Second Edition), published by Cambridge University Press, and is used by permission.
See Also
SPL_INTERP, SPLINE, SPLINE_P