exponenta event banner

augknt

Последовательность узлов дополнения

Синтаксис

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.