## Documentation Center |

Convert knots to breaks and their multiplicities

`knt2brk(knots) [breaks,mults] = knt2brk(knots) m = knt2mlt(t) [m,sortedt] = knt2mlt(t) `

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` `*i*th 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 *D ^{m}*

`[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.

`[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`.

Was this topic helpful?