|
Calling Sequence
|
|
Spline(xydata, v, dgr, endpts)
Spline(xdata, ydata, v, dgr, endpts)
|
|
Parameters
|
|
xydata
|
-
|
list, Array, DataFrame, or Matrix of the form [[x0,y0], [x1,y1], ..., [xn,yn]]; data points
|
xdata
|
-
|
list, Array, DataSeries, or Vector of the form [x0, x1, ..., xn]; independent values
|
ydata
|
-
|
list, Array, DataSeries, or Vector or the form [y0, y1, ..., yn]; dependent values
|
v
|
-
|
name or numeric value
|
dgr
|
-
|
(optional) equation of the form degree=d where d is a positive integer
|
endpts
|
-
|
(optional) equation of the form endpoints=e where e is one of 'natural', 'notaknot', or 'periodic' or is a list, Array, Matrix, or Vector
|
|
|
|
|
Description
|
|
•
|
The Spline routine computes a degree d piecewise polynomial in variable v that approximates the points .
|
|
If v is a numerical value, the value of the polynomial at this point returns. The default value of d is 3; this can be changed by using the degree=d option.
|
•
|
The intended purpose of the Spline function is to compute and return the piecewise formula of a spline interpolant. To perform fast spline interpolation on numeric data, the CurveFitting[ArrayInterpolation] command should be used instead.
|
•
|
By default, natural end conditions are used. This can be changed by using the endpoints=e option. For more details on the other types of end conditions available, see Spline Continuity and End Conditions.
|
•
|
You can call the Spline routine in two ways.
|
|
The first, Spline(xydata, v, dgr, endpts), accepts a list, Array, or Matrix, , of data points.
|
|
The second, Spline(xdata, ydata, v, dgr, endpts), accepts two lists, two Arrays, or two Vectors. In this form, the first set of data contains the independent values, , and the second set contains the dependent values, . Each element must be of type algebraic. All the independent values must be distinct.
|
•
|
The result returned by the Spline routine is determined by the degree d.
|
|
If d is odd, the Spline routine returns a result in the form , where the n spline sections are polynomials of degree at most d.
|
|
If d is even, the routine defines the spline knots at the midpoints of the nodes, unless the knots=data option is specified. In the default case, the Spline routine returns a result in the form , where , for , and the spline sections are polynomials of degree at most d. In the knots=data case, the result will have n spline sections and be of the form .
|
•
|
If a unique solution cannot be determined from the input data, a parametrized solution that uses parameters of the form a[i, j], where a is an automatically generated name, and i and j are integers, is returned.
|
•
|
For greater efficiency in large problems, it is recommended that xdata and ydata be stored as Vectors using a float datatype. For the degree 2 and degree 3 cases involving floating-point data only, the Spline command uses a more efficient algorithm that takes advantage of the external Numerical Algorithms Group (NAG) library for solving the resulting matrix equations.
|
|
|
Examples
|
|
>
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
|
|
|