B-сплайны и сглаживание сплайнов

В этом тулбоксе определение B-сплайна с узлами tj, ..., t j + k задано как

Bj,k(x)=B(x|tj,...,tj+k)=(tj+ktj)[tj,...,tj+k](x)+k1.

Это только одна из нескольких разумных нормализаций B-сплайна. Он выбран таким образом, чтобы

j=1nBj,k(x)=1,tkxtn+1.

Но вместо того, чтобы пытаться понять приведенную выше формулу для B-сплайна, смотрите на страницы с описанием для GUI bspligui для некоторых основных свойств B-сплайна и использовать этот графический интерфейс пользователя, чтобы получить некоторый опыт с этой интригующей функцией. Его самое важное свойство для целей этого тулбокса также является причиной того, что буква B в его имени:

Каждое пространство (одномерных) кусочных полиномов заданного порядка имеет Базис, состоящий из B-сплайнов (отсюда и «B» в B-сплайне).

Свойства B-сплайна

Поскольку Bj,k является ненулевым только на интервале (tj.. tj + k), линейная система для B-сплайн коэффициентов сплайна, которые будут определены, путем интерполяции или приближения наименьших квадратов, или даже как приблизительное решение некоторого дифференциального уравнения, пропускается, что делает решение этой линейной системы особенно простым. Например, чтобы построить сплайн s порядка <reservedrangesplaceholder9> с последовательностью <reservedrangesplaceholder8> 1  <reservedrangesplaceholder7> 2  узла ··· ≤ <reservedrangesplaceholder6> + k так, чтобы s (<reservedrangesplaceholder3>) = yi для <reservedrangesplaceholder1> =1..., n, использовали линейную систему

j=1nBj,k(xi)aj=yii=1:n

для неизвестных B-сплайн коэффициентов aj в которых каждое уравнение имеет самое большее k ненулевые значения.

Кроме того, многие теоретические факты, касающиеся сплайнов, наиболее легко заявить и/или доказать в терминах B-сплайнов. Например, возможно соответствовать произвольным данным на сайтах x1<<xn уникально сплайном порядка, k с узловой последовательностью (t1,..., tn + k) тогда и только тогда, когда Bj,k(xj)≠0 для всех j (Условия Шёнберга-Уитни). Расчеты с B-сплайнами облегчаются стабильными рекуррентными отношениями

Bj,k(x)=xtjtj+k1tjBj,k1(x)+tj+kxtj+ktj+1Bj+1,k1(x)

которые также помогают в преобразовании из B-формы в ppform. Двойной функциональный

aj(s):=i<k(D)ki1Ψj(τ)Dis(τ)

обеспечивает полезное выражение для коэффициента <reservedrangesplaceholder14> th B-сплайна сплайна s с точки зрения его значения и производных на произвольном месте τ между tj и tj+k, и с ψ <reservedrangesplaceholder10> (<reservedrangesplaceholder9>): = (tj+1 –t) ··· (tj+k–1 –t) / (k-1)! Это может использоваться, чтобы показать, что aj (s) тесно связана с s на интервале [tj..tj+k], и кажется наиболее эффективным средством для преобразования из ppform в B-форму.

Вариационный подход и сглаживание сплайнов

Вышеописанный конструктивный подход не единственный путь к сплайнам. В вариационном подходе сплайн получается как лучшая интерполяция, например, как функция с самой маленькой m й производной среди всех тех, кто совпадает с предписанными значениями функций в определенных сайтах. Как оказалось, среди многих таких доступных сплайнов, только те, которые являются кусочными полиномами или, возможно, кусочно-экспоненциальными, нашли большое применение. Из особого практического интереса сплайн сглаживания s = <reservedrangesplaceholder7> <reservedrangesplaceholder6>, который, для данных данных (<reservedrangesplaceholder5>) с <reservedrangesplaceholder4>  [<reservedrangesplaceholder3>] , весь i и данные соответствующие положительные веса минимизирует wi, и для данного сглаживания параметра p,

piwi|yif(xi)|2+(1p)ab|Dmf(t)|2dt

по всем функциям f с m производными. Оказывается, сглаживающий сплайн s является сплайном порядка 2m с разрывом на каждом сайте данных. Параметр сглаживания, p, выбран искусно, чтобы обеспечить правильный баланс между желанием измерения ошибки

E(s)=iwi|yis(xi)|2

малый и желающий измерения шероховатости

F(Dms)=ab|Dms(t)|2dt

малый. Надежда на то, что s содержит как можно больше информации и как можно меньше предполагаемого шума в данных. Один подход к этому (используется в spaps) сделать F (Dmf) как можно меньше при условии, что E(f) быть не больше предписанного допуска. По вычислительным причинам spaps использует (эквивалентный) параметр сглаживания ρ = p/(1-p), т.е. минимизирует ρ <reservedrangesplaceholder2> (<reservedrangesplaceholder1>) + F (Dmf). Кроме того, иногда полезно использовать более гибкую меру шероховатости

F(Dms)=abλ(t)|Dms(t)|2dt

с, подходящей положительной функцией веса.

Похожие темы