|
|
|
|
cubic spline interpolation
|
(Definition)
|
|
|
Suppose we are given $N+1$ data points $\{(x_{k},y_{k})\}$ such that
\begin{equation} a=x_{0}<\dots<x_{N}. \label{knot} \end{equation} Then the function $S(x)$ is called a cubic spline interpolation if there exists $N$ cubic polynomials $S_{k}(x)$ with coefficients $s_{k,i}\,\,0\leq i\leq 3$ such that the following hold.
- $S(x)=S_{k}(x)=\sum_{i=0}^{3}s_{k,i}(x-x_{k})^{i} \; \;\;\forall x\in [x_{k},x_{k+1}]\;\;\;0\leq k \leq N-1$
- $S(x_{k})=y_{k}\;\;\;0\leq k \leq N$
- $S_{k}(x_{k+1})=S_{k+1}(x_{k+1})\;\;\;0\leq k \leq N-2$
- $S^{\prime}_{k}(x_{k+1})=S^{\prime}_{k+1}(x_{k+1})\;\;\;0\leq k \leq N-2$
- $S^{\prime \prime}_{k}(x_{k+1})=S^{\prime \prime}_{k+1}(x_{k+1})\;\;\;0\leq k \leq N-2$
The set of points $\eqref{knot}$ are called the knots. The set of cubic splines on a fixed set of knots, forms a vector space for cubic spline addition and scalar multiplication.
So we see that the cubic spline not only interpolates the data $\{(x_{k},y_{k})\}$ but matches the first and second derivatives at the knots. Notice, from the above definition, one is free to specify constraints on the endpoints. One common end point constraint is $S^{\prime\prime}(a)=0\;\;S^{\prime\prime}(b)=0$ , which is called the natural spline. Other popular choices are the clamped cubic spline, parabolically terminated spline and curvature-adjusted spline. Cubic splines are frequently used in numerical analysis to fit data. Matlab uses the command
spline to find cubic spline interpolations with not-a-knot end point conditions. For example, the following commands would find the cubic spline interpolation of the curve $4\cos(x)+1$ and plot the curve and the interpolation marked with ${o's}$ .
x = 0:2*pi;
y = 4*cos(x)+1;
xx = 0:.001:2*pi;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)
|
Anyone with an account can edit this entry. Please help improve it!
"cubic spline interpolation" is owned by yota. [ full author list (2) | owner history (7) ]
|
|
(view preamble | get metadata)
Cross-references: interpolation, curve, MATLAB, analysis, endpoints, second derivatives, multiplication, scalar, addition, vector space, fixed set, knots, coefficients, polynomials, function, points
There is 1 reference to this entry.
This is version 4 of cubic spline interpolation, born on 2003-06-11, modified 2006-10-19.
Object id is 4339, canonical name is CubicSplinInterpolation.
Accessed 43438 times total.
Classification:
| AMS MSC: | 65-01 (Numerical analysis :: Instructional exposition ) |
|
|
|
|
|
|
Pending Errata and Addenda
|
|
|
|
|
|
|
|
|
|
|