Увеличьте последовательность узла
augknt(knots,k)
augknt(knots,k,mults)
[augknot,addl] = augknt(...)
augknt(knots,k)
возвращает неуменьшение и увеличенную последовательность узла, которая имеет первый и последний узел с точной кратностью k
. (Это может на самом деле сократить последовательность узла.))
augknt(knots,k,mults)
убеждается, что увеличенная возвращенная последовательность узла будет, кроме того, содержать каждый внутренний узел времена mults
. Если mults
будет иметь точно столько же записей, сколько существуют внутренние узлы, то j th каждый появится времена mults(j)
. В противном случае универсальная кратность mults(1)
используется. Если knots
строго увеличивается, это гарантирует, что сплайны порядка k
с последовательностью узла augknot
удовлетворяют условия гладкости k-mults(j)
через knots(j+1)
, j=1:length(knots)-2
.
[augknot,addl] = augknt(...)
также возвращает номер addl
узлов, добавленных слева. (Этот номер может быть отрицательным.)
Если вы хотите создать кубический сплайн на интервале [a..b
] с двумя непрерывными производными, и с внутренней последовательностью пропуска xi
, то augknt([a,b,xi],4)
является последовательностью узла, которую необходимо использовать.
Если вы хотите использовать Эрмита cubics вместо этого, т.е. кубический сплайн только с одной непрерывной производной, то соответствующей последовательностью узла является augknt([a,xi,b],4,2).
augknt([1 2 3 3 3],2)
возвращает векторный [1 1 2 3 3]
, как делает augknt([3 2 3 1 3],2)
. В любом случае addl
был бы 1
.