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 может привести к неудовлетворительным результатам.

Алгоритмы

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

См. также

| | |