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