exponenta event banner

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

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

Bj, k (x) = B (x 'tj,..., tj + k) = (tj + k tj) [tj,..., tj + k] (x−⋅) + k − 1.

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

∑j=1nBj,k (x) = 1, tk≤x≤tn+1.

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

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

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

Поскольку Bj, k является ненулевым только на интервале (tj.. tj + k), линейная система для B-сплайновых коэффициентов сплайна, которые должны быть определены, путем интерполяции или аппроксимации наименьших квадратов, или даже в качестве приближенного решения некоторого дифференциального уравнения, является ограниченной, что делает решение этой линейной системы особенно простым. Например, чтобы построить сплайн s приказа k с последовательностью t1  t2  узла ··· tn+k так, чтобы s (xi) =yi для i=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) = x tjtj + k 1 tjBj, k 1 (x) + tj + k xtj + k − tj + 1Bj + 1, k − 1 (x)

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

aj (s): =∑i<k (D) k i 1

предоставляет полезное выражение для j-го коэффициента B-сплайна s в терминах его значения и производных в произвольном участке, между tj и tj + k, и с (tj + 1-t)··· (tj + k-1-t )/( k-1)! Он может быть использован для того, чтобы показать, что aj (s) тесно связан с s на интервале [tj.. tj + k], и кажется наиболее эффективным средством для преобразования из ppform в B-форму.

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

Вышеуказанный конструктивный подход не единственный путь к сплайнам. В вариационном подходе сплайн получают как наилучший интерполятор, например, как функцию с наименьшей m-й производной среди всех тех, которые согласуются с заданными значениями функции в определенных местах. Как выясняется, среди множества доступных таких сплайнов много применения нашли только те, которые являются кусочно-многочленами или, возможно, кусочно-экспоненциальными. Особый практический интерес представляет сглаживающий сплайн s = sp, который для заданных данных (xi, yi) с x∊[a.. b], всех i и заданных соответствующих положительных весов wi и для заданного параметра сглаживания p минимизирует

p∑iwi'yi−f (xi) | 2 + (1 p) ∫ab'Dmf (t) | 2dt

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

E (s) =∑iwi'yi−s (xi) | 2

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

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

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

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

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

Связанные темы