knt2brk
Convert knots to breaks
Syntax
knt2brk(knots)
[breaks,mults] = knt2brk(knots)
m = knt2mlt(t)
[m,sortedt] = knt2mlt(t)
Description
The commands extract the distinct elements from a sequence, as well as their multiplicities in that sequence, with multiplicity taken in two slightly different senses.
knt2brk(knots) returns the distinct elements
in knots, and in increasing order, hence is the same as
unique(knots).
[breaks,mults] = knt2brk(knots) additionally
provides, in mults, the multiplicity with which each distinct element
occurs in knots. Explicitly, breaks and
mults are of the same length, and knt2brk is
complementary to brk2knt in that, for any knot sequence
knots, the two commands [xi,mlts] = knt2brk(knots);
knots1 = brk2knt(xi,mlts); give knots1 equal
to knots.
m = knt2mlt(t) returns a vector of the same
length as t, with m(i) counting, in the vector
sort(t), the number of entries before its ith
entry that are equal to that entry. This kind of multiplicity vector is needed in
spapi or spcol where such multiplicity is
taken to specify which particular derivatives are to be matched at the sites in
t. Precisely, if t is nondecreasing and
z is a vector of the same length, then sp = spapi(knots,
t, z) attempts to construct a spline s (with knot
sequence knots) for which
Dm(i)s(t(i))
equals z(i), all i.
[m,sortedt] = knt2mlt(t) also returns the
output from sort(t).
Examples
[xi,mlts]=knt2brk([1 2 3 3 1 3]) returns [1 2 3]
for xi and [2 1 3] for
mlts.
[m,t]=knt2mlt([1 2 3 3 1 3]) returns [0 1 0 0 1
2] for m and [1 1 2 3 3 3] for
t.