Преобразуйте узлы в пропуски и их кратность
knt2brk(knots)
[breaks,mults] = knt2brk(knots)
m = knt2mlt(t)
[m,sortedt] = knt2mlt(t)
Команды извлекают отличные элементы от последовательности, а также их кратность в той последовательности, с кратностью, взятой в двух немного отличающихся смыслах.
knt2brk(knots) возвращает отличные элементы в knots, и в увеличивающемся порядке, следовательно совпадает с unique(knots).
[breaks,mults] = knt2brk(knots) дополнительно обеспечивает, в mults, кратности, с которой каждый отличный элемент происходит в knots. Явным образом breaks и mults имеют ту же длину, и knt2brk дополнителен к brk2knt в этом для любой последовательности узла knots, эти две команды , которые [xi,mlts] = knt2brk(knots); knots1 = brk2knt(xi,mlts); дает knots1, равняются to knots.
m = knt2mlt(t) возвращает вектор той же длины как t, с подсчетом m(i), в векторном sort(t), количестве записей перед его i th запись, которые равны той записи. Этот вид вектора кратности необходим в spapi или spcol, где такая кратность взята, чтобы задать, какие конкретные производные должны быть соответствующими на сайтах в t. Точно, если t не уменьшается, и z является вектором той же длины, то sp = spapi(knots, t, z) пытается создать сплайн s (с последовательностью узла knots), для которого Dm (i) s (t (i)) равняется z (i), весь i.
[m,sortedt] = knt2mlt(t) также возвращает выходной параметр sort(t).
Ни knt2brk, ни knt2mlt, вероятно, не будут использоваться обычным пользователем этого тулбокса.
[xi,mlts]=knt2brk([1 2 3 3 1 3]) возвращает [1 2 3] для xi и [2 1 3] для mlts.
[m,t]=knt2mlt([1 2 3 3 1 3]) возвращает [0 1 0 0 1 2] для m и [1 1 2 3 3 3] для t.