## Documentation Center |

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

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?