knt2brk, knt2mlt
Convert knots to breaks and their multiplicities
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)
.
Neither knt2brk
nor knt2mlt
is likely to be
used by the casual user of this toolbox.
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
.