compute a spline with specified end conditions - Maple Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Mathematics : Numerical Computations : Interpolation and Curve Fitting : CurveFitting Package : CurveFitting/Spline

CurveFitting[Spline] - compute a spline with specified end conditions

Calling Sequence

Spline(xydata, v, dgr, endpts)

Spline(xdata, ydata, v, dgr, endpts)




list, Array, or Matrix of the form [[x0,y0], [x1,y1], ..., [xn,yn]]; data points



name or numeric value



(optional) equation of the form degree=d where d is a positive integer



(optional) equation of the form endpoints=e where e is one of 'natural', 'notaknot', or 'periodic' or is a list, Array, Matrix, or Vector



list, Array, or Vector of the form [x0, x1, ..., xn]; independent values



list, Array, or Vector or the form [y0, y1, ..., yn]; dependent values



The Spline routine computes a degree d piecewise polynomial in variable v that approximates the points {x0,y0,x1,y1,...,xn,yn}.


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, [[x0,y0],[x1,y1],...,[xn,yn]], 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, [x0,x1,...,xn], and the second set contains the dependent values, [y0,y1,...,yn].  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 piecewisev<x1,p1,...,pn, where the n spline sections {p1,p2,...,pn} 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 piecewisev<z1,p1,...,v<zn,pn,pn+1, where zi&equals;12xi1&plus;12xi, for i=1,2,...,n, and the n&plus;1 spline sections {p1,p2,...,pn+1} are polynomials of degree at most d. In the knots=data case, the result will have n spline sections and be of the form piecewisev<x1,p1,...,pn.


For more details on the formation of the piecewise polynomials and additional examples involving different end conditions, see the Spline Continuity and End Conditions help page.


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.












See Also

CurveFitting, CurveFitting[ArrayInterpolation], diff, piecewise, Spline Continuity and End Conditions, type/algebraic

Download Help Document

Was this information helpful?

Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam