exponenta event banner

aptknt

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

Синтаксис

knots = aptknt(tau,k)
[knots,k] = aptknt(tau,k)

Описание

knots = aptknt(tau,k) возвращает последовательность узлов, подходящую для интерполяции в узлах данных tau по шлицам порядка k с этой узловой последовательностью, tau имеет по крайней мере k записей, не повторяется и удовлетворяет tau(i)<tau(i+k-1) для всех i. В этом случае существует ровно один сплайн порядка k с узловой последовательностью knots соответствует заданным значениям на этих сайтах. Это так, потому что последовательность knots возвращенные удовлетворяют условиям Шёнберга-Уитни

knots(i) < tau(i) < knots(i+k),        i=1:length(tau)

с равенством только на крайних узлах, каждый из которых происходит с точной кратностью k.

Если tau имеет меньше, чем k записи, затем k уменьшается до значения length(tau). Ошибка возникает, если tau не может быть не повторным и/или tau(i) равняется tau(i+k-1) для некоторых i.

[knots,k] = aptknt(tau,k) также возвращает фактическое значение k используется (что равно меньшему входу k и length(tau)).

Примеры

Если tau на равном расстоянии, например, равном linspace(a,b,n) для некоторых n> = 4, иy - последовательность того же размера, что и tau, то sp = spapi(aptknt(tau,4),tau,y) дает интерполятор кубического сплайна с условием конца «не а-узел». Это тот же кубический сплайн, что и в команде spline(tau,y), но в B-форме, а не в ppform.

Примечание с предостережением

Если tau является очень неоднородным, то использование результирующей узловой последовательности для интерполяции к данным на участках tau может привести к неудовлетворительным результатам.

Алгоритмы

(k-1)- средние значения точек sum(tau(i+1:i+k-1))/(k-1) последовательности tau, в соответствии с aveknt(tau,k), дополняются k- сгиб tau(1) и k- сгиб tau(end). Другими словами, команда дает тот же результат, что и augknt([tau(1),aveknt(tau,k),tau(end)],k), при условии tau имеет по крайней мере k записей и k больше 1.

См. также

| | |