% 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
