Spline Toolbox Release Notes |

Spline Toolbox 3.0 Release Notes

**New Features**

This section introduces the new features and enhancements added in the Spline Toolbox 3.0 since the Spline Toolbox 2.0.1 (Release 11.0).

**Spline Tool Provides a Visual Interface to the Spline Toolbox**

The `splinetool`

function invokes a new visual interface that allows you to:

- Import data in various ways
- Try out and compare all the different spline fits available
- Vary the parameters, including the data
- Look at the error
- Look at the derivatives
- View the toolbox functions that produce specific spline fits
- Print the graphs, and save approximations for subsequent use

**Automatic Knot Choice Simplifies Use of spapi and spap2**

Until this release, if you wanted to construct a spline interpolant to given data, you had to specify the spline space from which this spline was to be chosen, by providing an appropriate knot sequence. Starting with this release, if you are not so certain about how to choose knots, you can simply specify the order of the spline to be used instead, and `spapi`

will provide a suitable knot sequence.

The same difficulty of having to choose a knot sequence occurred in the construction of a least-squares spline approximation to given data, and here, too, you can instead merely specify the number of polynomial pieces of the given order to be used in the approximating spline in `spap2`

.

**Automatic Smoothing Parameter Choice Simplifies Use of csaps**

You can now use `csaps`

without specifying the smoothing parameter to be used. If none is specified, `csaps`

will optionally return the one it chose for the given data, for further experimentation.

**Use of Rational Splines**

The relevant function functions (e.g., `fnval`

, `fnplt`

, `fntlr`

, `fnbrk`

, `fnrfn`

, `fn2fm`

, etc.) can now operate on rational splines (NURBS). Specific examples of a rational spline are provided by `rsmak`

. Both `rsmak`

and `rpmak`

are available to generate arbitrary rational splines in B-form and ppform, respectively.

**B-Spline Visual Interface**

Splines in the Spline Toolbox are constructed as a linear combination of B-splines. Run `bspligui`

to show how such a B-spline varies as you vary its knots. You can:

**Other New Functions**

The following functions have been added in the Spline Toolbox 3.0:

`aptknt`

`(x,k)`

provides a good knot sequence for interpolation by splines of order`k`

to data at`x`

.`fndir`

is available for the construction of directional derivatives, and hence of Jacobians, gradients, and surface normals.`fntlr`

is available for the calculation of derivative values; this is particularly useful for rational splines for which formal differentiation is inefficient.`chbpnt`

`(knots,k)`

provides a good data site sequence for interpolation by splines of order`k`

with knot sequence`knots`

.

**Other Enhancements**

- Both
`csaps`

and`spaps`

can now work with a nonconstant weight in the roughness measure. - Both
`csaps`

and`spaps`

can also now deal better with near-zero error weights. - You can now give
`spaps`

a smoothing parameter rather than a tolerance. `fnbrk`

can now change the basic interval of any form.- You can now make
`fnval`

treat splines as continuous from the left. - You can also now use
`fnval`

in the form`fnval(x,f)`

as needed for`fzero`

,`fminbnd`

, etc. `fnplt`

can now be made not to break the graph of a function at a jump.- The second argument of
`newknt(fn,newl)`

has become optional. `aveknt(x,k)`

can now handle an`x`

of length`k`

(of use in`aptknt`

).`optknt`

can now handle much more nonuniformly spaced data sites, particularly by using`optknt(tau,k,maxiter)`

to increase the maximum number of steps used to iteratively solve for the optimal knots.

Upgrading from an Earlier Release | Major Bug Fix |