fnbrk
Name and part(s) of form
Syntax
[out1,...,outn] = fnbrk(f,part1,...,partm)
fnbrk(f,interval)
fnbrk(pp,j)
fnbrk(f)
Description
[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 option.
Regardless of what particular form f
is in,
parti
can be one of the following, specified as a character
vector or string scalar.
| 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 ith entry specifying the desired interval in
the ith dimension. If that ith entry is
[ ]
, the basic interval in the ith
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.
Examples
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.