Преобразуйте узлы в пропуски и их кратности
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 равно knots.
m = knt2mlt(t) возвращает вектор той же длины, что и t, с m(i) counting, в векторе sort(t), количество записей до ее i записи, которые равны этой записи. Этот вид вектора кратности нужен в 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.