Аппроксимация сплайна методом наименьших квадратов
возвращает B-форму сплайна f порядка spline = spap2(knots,k,x,y) k с заданной последовательностью узлов knots для которых
(*) y(:,j) = f(x(j)), all j
в взвешенном среднеквадратическом значении, означающем, что сумма
(x (j)) | 2
минимизирован, вес по умолчанию равен 1. Значения данных y(:,j) могут быть скалярами, векторами, матрицами или ND-массивами, а | z | 2 - сумма квадратов всех записей z. Точки данных с одним и тем же сайтом заменяются их средним значением.
Если сайты x удовлетворить условиям Шёнберга-Уитни
тогда имеется уникальный сплайн заданного порядка и узловой последовательности, удовлетворяющий (*) точно. Сплайн не возвращается, если (* *) не удовлетворяется для некоторой подпоследовательности x.
spap2(, с l,k,x,y) l положительное целое число, возвращает B-форму аппроксиманта сплайна наименьших квадратов, но с выбранной для вас последовательностью узлов. Последовательность узлов получают нанесением aptknt к соответствующей подпоследовательности x. Полученный кусочно-многочлен состоит из l полиномиальные части и имеет k-2 непрерывные производные. Если вы чувствуете, что другое распределение внутренних узлов может сделать лучшую работу, следите за этим с
sp1 = spap2(newknt(spline),k,x,y));
позволяет указать веса spline = spap2(...,x,y,w) w в измерении ошибки (приведенном выше). w должен быть вектором того же размера, что и x, с неотрицательными записями. Все веса, соответствующие точкам данных с одним и тем же сайтом, суммируются, когда эти точки данных заменяются их средним значением.
spap2({knorl1,...,knorlm},k,{x1,...,xm},y) обеспечивает аппроксимацию сплайна методом наименьших квадратов для данных с сеткой. Здесь, каждый knorli является либо узловой последовательностью, либо положительным целым числом. Далее, k должно быть m-вектор, и y должен быть (r+m) -мерный массив, сy(:,i1,...,im) опорный элемент, устанавливаемый на site
[x{1}(i1),...,x{m}(im)], все i1, ..., im. Однако если сплайн должен быть скалярным, то, в отличие от одномерного случая, y разрешено быть m-мерный массив, в этом случае y(i1,...,im) - опорный элемент, устанавливаемый на site
[x{1}(i1),...,x{m}(im)], все i1, ..., im.
spap2({knorl1,...,knorlm},k,{x1,...,xm},y,w) также позволяет указать веса. В этом m-вариативный случай, w должен быть массивом ячеек с m записи, с w{i} неотрицательный вектор того же размера, что и xi, или иначе w{i} должен быть пустым, в этом случае веса по умолчанию используются в i-я переменная.
spcol вызывается для обеспечения почти блок-диагональной матрицы коллокации (Bj, k (xi)), иslvblk решает линейную систему (*) в (взвешенном) смысле наименьших квадратов, используя блок QR-факторизации.
Привязанные к сетке данные устанавливаются по одной переменной за раз, используя тот факт, что одномерное взвешенное соответствие наименьшим квадратам линейно зависит от устанавливаемых значений.