Преобразуйте узлы в пропуски и их кратность
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.