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