Работа со сплайнами в Spline Toolbox

Страницы работы

Фрагмент текста работы

Работа со сплайнами в Spline Toolbox

Область применения сплайнов весьма широка: они используются при ап­проксимации одномерных и многомерных данных и функций, во многих других вычислительных задачах, а также в двумерной и трехмерной графи­ке. Средства Spline Toolbox позволяют конструировать одномерные и мно­гомерные сплайны (как интерполяционные, так и сглаживающие), удовле­творяющие различным условиям гладкости, и применять их для решения разнообразных задач. Входящие в состав Toolbox приложения с графиче­ским интерфейсом служат для получения наглядного представления о пове­дении сплайнов и экспериментов с ними.

Сплайны и формы их представления

Рассмотрим сначала задачу приближения табличной функции одной пере­менной с помощью сплайнов. Напомним основные определения и термины. Для решения задачи должны быть заданы две последовательности: точки х1, х2, xN (сетка) и значения аппроксимируемой функции в этих точках y1, у2,… yN (сеточная функция). Сетка считается упорядоченной, т.е. x1 < хi+1. Если аппроксимирующая функция проходит через заданные точки-то она называется интерполирующей, а иначе — сглаживающей. Функция S(x) называется сплайном степени k-1 (порядка k), если на каждом, отрезков [xi, xi+1], где i = 1, 2,…,N-1, эта функция является полином степени не выше к-1. Точки хi (i=2,..., N — 1) называются точками разрыва, в них полиномы "сшиваются" так, что сохраняется непрерывное производной некоторого порядка di <k-1 (в разных точках условия гладкости могут быть различными). Используются две основные формы представления сплайна: кусочно-полиномиальная (рр-форма) и В-форма, выра­жающая сплайн через базисные сплайны.

Примечание

В русскоязычной литературе вместо термина "точки разрыва", как прави­ло, используется термин "узлы". Мы будем придерживаться терминологии, принятой в пакете MATLAB.

Кусочно-полиномиальная форма (рр-форма)

На каждом участке [хjj+1] с номером j приближающая функция S(х) представляется в виде полинома

рр-форма удобна для вычисления значений сплайна, его дифференцирова­ния, интегрирования и других операций с ним. Построение сплайнов в рр-форме, т. е. определение множества коэффициентов, сопряжено с реше­нием системы линейных уравнений и изменение любого значения в таблич­ных данных требует пересчета всех коэффициентов.

В-форма

(разложение по базисным сплайнам)

B-форма опирается на понятие базисных сплайнов. Несколько менее оче­видный смысл их представления (по сравнению с рр-формой) компенсирует­ся тем, что внесение изменений в табличные данные требует меньшего объ­ема вычислений для перестроения сплайна. Сплайн в В-форме представ­ляется суммой

s(x) =

где k — порядок сплайна; Bj,к(х) — базисные сплайны (В-сплайны); aj — массив коэффициентов; k — порядок сплайна. Отметим, что базисный сплайн Bj,к(х) положителен и отличен от нуля только в промежутке (tj,tj+k),который называется носителем сплайна. Также выполняется условие нормировки:  для x [tk, tn+l]. Каждый j-ый базисный сплайн, в свою очередь, является кусочно-полиномиальной функцией степени меньше kсточками разрыва tj,tj+k . Последовательность точек t1 ≤ t2 ≤ ... ≤ tn+k называется узлами B-формы.

Для обеспечения единственности сплайна заданных условий гладкости в точках разрыва и значений сеточной функции, как правило, недостаточно, поэтому дополнительно задают еще условия на концах рассматриваемого отрезка [х1, xN] —граничные (краевые) условия.

Интерполяционные сплайны

Мы уже обсуждали аппроксимацию функций одной и нескольких перемен­ных средствами MATLAB (см. разд. "Интерполирование и сглаживание" гла­вы 6).

Обратимся теперь к рассмотрению возможностей, предоставляемых Spline Toolbox, и обсудим построение интерполяционных сплайнов, отличающих­ся порядками, формой представления и граничными условиями. Интерпо­ляционный сплайн S(x) строится таким образом, чтобы для таблично

Похожие материалы

Информация о работе