home *** CD-ROM | disk | FTP | other *** search
- % SPLST List available M-files for work with splines.
- % Copyright (c) 1990-92 by Carl de Boor and The MathWorks, Inc.
- %latest change: September 28, 1990
- %latest change: May 1, 1991 (replace csapn by csape, add optknt )
- %latest change: 4 mar 92 ( add fncmb )
- clc;home;echo on
- % The following M-files are available for spline work.
-
- % sp = spmak(knots, coefs) returns the spline with the given knots and
- % coefficients.
- % [t,a,n,k,d] = spbrk(sp) takes apart sp .
- % pp = sp2pp(sp) converts the spline in sp to pp form.
- % [values =] fnplt(sp[,symbol[,interval]]) plots the spline in sp .
- % values = fnval(sp,x) returns the values at x of the spline in sp .
- % dsp = fnder(sp[,m]) returns the [m-th] derivative of the spline in sp
- % (which is again a spline).
- % isp = fnint(sp) returns an indefinite integral of the spline in sp
- % (which is again a spline).
- % sp = fncmb(sp1,sc1[,sp2[,sc2]]) returns weighted sum of two like splines.
- % c = spcol(t,k,tau[,slvblk]) returns the matrix whose j-th column contains
- % the value at tau of the j-th B-spline of order k for the knots t ;
- % repeated values in tau cause the appropriate derivative values to be
- % supplied instead.
- % sp = spapi(t,tau,ftau) returns the spline of order k := length(t) -
- % length(tau) with knots t which matches the data (tau, ftau) .
- % sp = spap2(t,k,tau,ftau) returns the spline of order k with knots t
- % which matches the data (tau, ftau) in the least-squares sense.
-
- pause; % Touch any key to continue
-
- % In addition, there are routines for constructing c u b i c splines:
- %
- % interpolating c u b i c spline:
- %
- % values = csapi(x,y,xx) returns the values at xx of the cubic spline
- % interpolant to the given data (x,y) (using the not-a-knot end
- % condition). The alternative call
- % pp = csapi(x,y) returns the pp-form of the spline interpolant instead.
- % pp = csape(x,y,conds,valconds) returns the pp-form of the spline
- % interpolant satisfying the specified end conditions.
- % pp = cscvn(points) returns a parametric cubic spline c u r v e through
- % the given points .
-
-
- % smoothing c u b i c spline:
- %
- % values = csaps(x,y,p,xx) returns the values at xx of the cubic smoothing
- % spline with smoothing parameter p (from [0,1]).
- % pp = csaps(x,y,p) returns the pp-form of the cubic smoothing spline instead.
-
- pause; % Touch any key to continue
-
- % For fast display of a spline c u r v e , there is:
- %
- % [curve=] spcrv(c[,k,symbol,maxpnt]) uses repeated midpoint knot
- % insertion to generate (and plot) the curve
- %
- % t /--> sum B(t-k/2;j,...,j+k)*c(j) ,
- % j
- %
- % from the input (d,n)-array c , with d=1 or 2 . The insertion
- % process stops as soon as there are >= maxpnt knots.
-
- % In addition, there are some service routines:
- %
- pause; % Touch any key to continue
- % [v,b] = sprpp(tx,a) which uses knot insertion followed by differentiation
- % to construct the power form v of the pol.piece which agrees on
- % [0,tx(k)] with the spline identified by the knots tx and the
- % B-spline coefs a . Also returns the B-coefs. for that piece, in b.
- %
- % [v,b] = splpp(tx,a) which does the same as sprpp(tx,a) , but for the
- % interval [tx(k-1),0] rather than the interval [0,tx(k)] .
- %
- % [augknot,addl] = augknt(knots,k) which returns a knotsequence augmented to
- % have its first and last knot of exact multiplicity k .
- %
- % tstar=aveknt(t,k) which returns the knot averages recommended as good
- % interpolation points.
- %
- % [newbrk,distfn]=newknt(pp,newl) which provides a more appropriately
- % distributed breakpoint sequence.
- %
- % xi = optknt(tau,k) returns the optimal knots for interpolation at tau
- %
- % pointer=sorted(knots, points)
- % and
- % [nb,rows,ncols,last,blocks]=bkbrk(blokmat[,print])
- % are used in slvblk.m (q.v.)
-
- pause; % Touch any key to finish
-