Последовательность узлов увеличения
augknt(knots,k)
augknt(knots,k,mults)
[augknot,addl] = augknt(...)
augknt(knots,k)
возвращает недекретируемую и дополненную последовательность узлов, которая имеет первый и последний узлы с точной кратностью k
. (Это может фактически сократить последовательность узлов.))
augknt(knots,k,mults)
проверяет, что возвращенная последовательность дополненных узлов будет, в сложение, содержать каждый внутренний узел mults
времени. Если mults
имеет ровно столько записей, сколько есть внутренних узлов, тогда появится j-й 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)
- последовательность узлов, которую вы должны использовать.
Если вы хотите использовать вместо этого кубику Гермита, то есть кубический сплайн с одной непрерывной производной, то соответствующая последовательность узлов 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
.