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
jth 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.