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.

Name and part(s) of form

`[out1,...,outn] = fnbrk(f,part1,...,partm) `

fnbrk(f,interval)

fnbrk(pp,j)

fnbrk(f)

`[out1,...,outn] = fnbrk(f,part1,...,partm) `

returns the part(s) of the form in `f`

specified
by `part1,...,partn `

(assuming that `n<=m`

).
These are the parts used when the form was put together, in `spmak`

or `ppmak`

or `rpmak`

or` `

`rsmak`

or `stmak`

,
but also other parts derived from these.

You only need to specify the beginning character(s) of the relevant character vector.

Regardless of what particular form `f`

is in, `parti`

can
be one of the following.

| The particular form used |

| The dimension of the function's domain |

| The dimension of the function's target |

| The coefficients in that particular form |

| The basic interval of that form |

Depending on the form in `f`

, additional parts
may be asked for.

If `f`

is in B-form (or BBform or rBform),
then additional choices for `parti`

are

| The knot sequence |

| The B-spline coefficients |

| The number of coefficients |

| The polynomial order of the spline |

If `f`

is in ppform (or rpform), then additional
choices for `parti`

are

| The break sequence |

| The local polynomial coefficients |

| The number of polynomial pieces |

| The polynomial order of the spline |

| The local polynomial coefficients, but in the form needed
for |

If the function in `f`

is multivariate, then
the corresponding multivariate parts are returned. This means, e.g.,
that knots, breaks, and the basic interval, are cell arrays, the coefficient
array is, in general, higher than two-dimensional, and order, number
and pieces are vectors.

If `f`

is in stform, then additional choices
for `parti`

are

| The centers |

| The coefficients |

| Number of coefficients or terms |

| The particular type |

`fnbrk(f,interval) `

with `interval`

a
1-by-2 matrix `[a b]`

with `a<b`

does
not return a particular part. Rather, it returns a description of
the univariate function described by `f`

and in the
same form but with the basic interval changed, to the interval given.
If, instead, `interval`

is `[ ]`

, `f`

is
returned unchanged. This is of particular help when the function in `f`

is *m*-variate,
in which case `interval`

must be a cell array with *m* entries,
with the *i*th entry specifying the desired interval
in the *i*th dimension. If that *i*th
entry is `[ ]`

, the basic interval in the *i*th
dimension is unchanged.

`fnbrk(pp,j)`

, with `pp`

the
ppform of a univariate function and `j`

a positive
integer, does not return a particular part, but returns the ppform
of the `j`

th polynomial piece of the function in `pp`

.
If `pp`

is the ppform of an *m*-variate
function, then `j`

must be a cell array of length *m*.
In that case, each entry of `j`

must be a positive
integer or else an interval, to single out a particular polynomial
piece or else to specify the basic interval in that dimension.

`fnbrk(f)`

returns nothing,
but a description of the various parts of the form is printed at the
command line instead.

If `p1`

and `p2`

contain the
B-form of two splines of the same order, with the same knot sequence,
and the same target dimension, then

p1plusp2 = spmak(fnbrk(p1,'k'),fnbrk(p1,'c')+fnbrk(p2,'c'));

provides the (pointwise) sum of those two functions.

If `pp`

contains the ppform of a bivariate
spline with at least four polynomial pieces in the first variable,
then `ppp=fnbrk(pp,{4,[-1 1]})`

gives the spline
that agrees with the spline in `pp`

on the rectangle
[`b4`

.. `b5`

] x [`-`

1
.. 1] , where `b4`

, `b5`

are
the fourth and fifth entry in the break sequence for the first variable.

Was this topic helpful?