Сплайн-интерполяция
возвращает сплайн f (при наличии) порядка spline = spapi(knots,x,y)
k = length(knots) - length(x)
knots для которых (*) f(x(j)) = y(:,j), all j.
x те же самые, то:
y (:, j)
при ) = x (j)} и Dmf m-й производной f. В этом случае r-кратное повторение участка z вx соответствует назначению величины и первых r-1 производных f при z. Чтобы сопоставить среднее значение всех значений данных с одинаковыми данными, вызовите spapi с дополнительным четвертым аргументом.
Значения данных, y(:,j), могут быть скалярами, векторами, матрицами или ND-массивами.
spapi( , с k,x,y)k положительное целое число, указывает требуемый порядок сплайна, k. В этом случае spapi функция вызывает aptknt функция для определения работоспособной, но не обязательно оптимальной узловой последовательности для данных участков x. Другими словами, команда spapi(k,x,y) имеет тот же эффект, что и более явная команда spapi(aptknt(x,k),x,y).
spapi({knork1,...,knorkm},{x1,...,xm},y) возвращает B-форму сплайна тензор-произведение в данные с сеткой. Здесь, каждый knorki является либо узловой последовательностью, либо положительным целым числом, определяющим полиномиальный порядок, используемый в i-я переменная. spapi затем обеспечивает соответствующую последовательность узлов для i-я переменная. Далее, y должен быть (r+m)-размерный массив, с y(:,i1,...,im) опорный элемент для посадки в site
[x{1}(i1),...,x{m}(im)], для всех i1, ..., im. В отличие от одномерного случая, если сплайн является скалярным, то y может быть m-мерный массив.
spapi(...,'noderiv') с вектором символов 'noderiv' в качестве четвертого аргумента имеет тот же эффект, что и spapi(...) за исключением того, что значения данных, совместно используемые на одном и том же сайте, интерпретируются по-разному. При наличии четвертого аргумента среднее значение значений данных с одним и тем же сайтом данных интерполируется на таком сайте. Без него значения данных с одним и тем же сайтом данных интерпретируются как значения последовательных производных, которые должны быть сопоставлены в таком сайте, как описано выше, в первом абзаце настоящего Описания.
Заданные (одномерные) узлы и участки должны удовлетворять условиям Шёнберга-Уитни для определения интерполятора. Если последовательность месторасположения x не повторяется, то
k), все j
с возможным равенством на knots(1) и knots(end)). В многомерном случае эти условия должны содержаться в каждой переменной отдельно.
Вызов функции spcol для обеспечения почти блок-диагональной матрицы коллокации (Bj, k (x)) (с повторами вx обозначающие производные, как описано выше), и slvblk решает линейную систему (*), используя блок QR факторизации.
Функция подгоняет привязанные к сетке данные по одной переменной за раз, используя тот факт, что одномерная посадка сплайна линейно зависит от устанавливаемых значений.