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