Cubic Spline Interpolation Utility |
This page contains a cubic spline interpolation utility. It is written in JavaScript, so make sure that JavaScript is enabled in your browser. |
References: |
Author: David K. Kahaner, National Bureau of Standards From the book "Numerical Methods and Software" by D. Kahaner, C. Moler, and S. Nash Prentice Hall, 1988 |
Fritsch, F. N.; and R.E. Carlson. "Monotone Piecewise Cubic Interpolation" SIAM J. Numer. Anal. 17, 2 (April 1980), 238 - 246 |
Fritsch, F. N.; and J. Butland. "A Method for Constructing Local Monotone Piecewise Cubic Interpolants" Lawrence Livermore National Laboratory Preprint UCRL-87559 (April 1982) |
De Boor, Carl. "A Practical Guide to Splines" Springer-Verlag, New York 1978 |
Fritsch, F. N. "Piecewise Cubic Hermite Interpolation Package, Final Specifications" Lawrence Livermore National Laboratory Computer Documentation UCID-30194 August 1982 |
The utility posted on this page is based on the sub-programs PCHEV and PCHEZ written by David K. Kahaner. These are top-level programs that control several sub-routines from the SLATEC collection. The original programs were written in FORTRAN and have been translated to Javascript here. Although all care has been taken to ensure that the sub-routines were translated accurately, some errors may have crept into the translation. These errors are mine; the original FORTRAN routines have been thoroughly tested and work properly. Please report any errors to the webmaster. |
HOW TO USE THIS UTILITY |
In the "Known Data" box below, enter the known (x, y) data pairs. The data pairs should be entered one pair per line, with blanks between them--nothing else. No commas, periods, brackets, etc. (Also note that numbers in scientific notation are NOT recognized). For example, assume we have data that follows a y = x*x relationship. Data input to the box should look as follows: |
0.5 | 0.25 | |
1 | 1 | |
2 | 4 | |
3 | 9 | |
4 | 16 | |
5 | 25 |
Note that the data pairs must be entered in order of increasing x-value. |
A maximum of fifty data pairs may be entered; if more than fifty data pairs are entered, any pairs after the fiftieth pair will be ignored. |
In the "Points at which Interpolant Sought" section, enter the x-values at which the interpolating y-values are to be calculated. Once you click the "Interpolate" button, this utility will then calculate the values of y which are a cubic spline interpolation for the data at the specified x-points. Note that this utility accepts a maximum of ten x-points at which to calculate the corresponding y-value. If you need interpolating y-values at more than ten points, just repeatedly re-run the utility, entering the different x-points each time. |
IMPORTANT: Note the Error Code output. |
Return to Math Functions Page |
Return to Thothworks Home Page |