exponenta event banner

spap2

Наименьшие квадраты шлицуют приближение

Синтаксис

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 

во взвешенном среднеквадратическом смысле, означая, что сумма

jw(j)|y(:,j)f(x(j))|2

минимизирован, с весами по умолчанию, равными 1. Значения данных y(:,j) могут быть скаляры, векторы, матрицы, даже массивы ND, и |z|2 обозначает сумму квадратов всех записей z. Точки данных с тем же сайтом заменяются их средним значением.

Если сайты x удовлетворите (Шенберг-Уитни) условиям

          узлы(j)<x(j)<узлы(j+k)(**)                                j=1,...,длина(x)=длина (узлы)k

затем существует уникальный сплайн (данного распоряжения и последовательности узла) удовлетворяющий (*) точно. Никакой сплайн не возвращен, если (**) не удовлетворен для некоторой подпоследовательности 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) данная величина, которая будет адаптирована в 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переменная th.

Примеры

sp = spap2(augknt([a,xi,b],4),4,x,y)

аппроксимирующая функция наименьших квадратов к данным xY, кубическими сплайнами с двумя непрерывными производными, основной интервал [aB], и внутренняя часть повреждает 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); предоставляет наименьшим квадратам прямолинейную подгонку к данным xYв то время как

w = ones(size(x)); w([1 end]) = 100; spap2(1,2, x,y,w); 

силы, которые соответствуют, чтобы очень близко подойти к точке First Data и к последнему.

Алгоритмы

spcol обращен с просьбой обеспечить почти диагональную блоком матрицу словосочетания (Bj, k (xi)), и slvblk решает линейную систему (*) во (взвешенном) смысле наименьших квадратов, с помощью QR-факторизации блока.

Данные с координатной сеткой адаптированы, способом продукта тензора, одна переменная за один раз, использовав в своих интересах то, что одномерная подгонка метода взвешенных наименьших квадратов зависит линейно от адаптируемых значений.

Смотрите также

| |