The ppform
Introduction to ppform
A univariate piecewise
polynomial f is specified by its break sequence breaks and the coefficient
array coefs of the local power form
(see equation in Definition of ppform) of its polynomial
pieces; see Multivariate Tensor Product Splines for a discussion of multivariate
piecewise-polynomials. The coefficients may be (column-)vectors, matrices,
even ND-arrays. For simplicity, the present discussion deals only
with the case when the coefficients are scalars.
The break sequence is assumed to be strictly increasing,
breaks(1) < breaks(2) < ... < breaks(l+1)
with l the number of polynomial pieces that
make up f.
While these polynomials may be of varying degrees, they are
all recorded as polynomials of the same order k,
i.e., the coefficient array coefs is of size [l,k],
with coefs(j,:) containing the k coefficients
in the local power form for the jth
polynomial piece, from the highest to the lowest power; see equation
in Definition of ppform.
Definition of ppform
The items breaks, coefs, l,
and k, make up the ppform of f,
along with the dimension d of its coefficients;
usually d equals 1. The basic interval of this form is the interval
[breaks(1) .. breaks(l+1)].
It is the default interval over which a function in ppform is plotted
by the plot command fnplt.
In these terms, the precise description of the piecewise-polynomial f is
f(t) = polyval(coefs(j,:), t - breaks(j)) | (1) |
for breaks(j)≤t<breaks(j+1).
Here, polyval(a,x)
is the MATLAB® function; it returns the number
This defines f(t) only for t in
the half-open interval [breaks(1)..breaks(l+1)].
For any other t, f(t) is defined
by
i.e., by extending the first, respectively
last, polynomial piece. In this way, a function in ppform has possible
jumps, in its value and/or its derivatives, only across the interior
breaks, breaks(2:l). The end breaks, breaks([1,l+1]),
mainly serve to define the basic interval of the ppform.