Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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 `j`

th
polynomial piece, from the highest to the lowest power; see equation
in 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)) ` | (10-1) |

for breaks(*j*)≤*t*<breaks(*j*+1).

Here, `polyval`

(`a`

,`x`

)
is the MATLAB^{®} function; it returns the number

$$\sum _{j=1}^{k}a\left(j\right){x}^{k-j}=a\left(1\right){x}^{k-1}+a\left(2\right){x}^{k-2}+\mathrm{...}+a\left(k\right){x}^{0}$$

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

$$\begin{array}{cc}f\left(t\right)=polyval\left(coefs\left(j,:\right),t-breaks\left(j\right)\right)& \begin{array}{cc}j=& \begin{array}{c}1,t<breaks\left(1\right)\\ l,t\ge breaks\left(l+1\right)\end{array}\end{array}\end{array}$$

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.

Was this topic helpful?