Spline - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


CurveFitting

  

Spline

  

compute a spline with specified end conditions

 

Calling Sequence

Parameters

Description

Examples

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 {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=xi12+xi2, for i=1,2,...,n, and the n+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.

Examples

withCurveFitting&colon;

Spline0&comma;0&comma;1&comma;1&comma;2&comma;4&comma;3&comma;3&comma;v

45v3+15vv<12v3+425v2415v+145v<265v3545v2+1515v1145otherwise

(1)

Spline0&comma;0&comma;1&comma;5&comma;2&comma;1&comma;3&comma;0&comma;v&comma;degree=2&comma;endpoints=periodic

165v2+245vv<12445v2+845v3v<32285v21325v+1475v<52165v2725v+725otherwise

(2)

Spline0&comma;1&comma;2&comma;3&comma;0&comma;1&comma;4&comma;3&comma;v&comma;degree=1

vv<12+3vv<26votherwise

(3)

See Also

CurveFitting

CurveFitting[ArrayInterpolation]

diff

piecewise

Spline Continuity and End Conditions

type/algebraic