Сплайны

Основные понятия

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

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

Поэтому на практике предпочитают кусочно-полиномиальную интерполяцию с использованием многочленов невысокой степени.

Однако, этот способ приближения имеет недостаток: в точках «стыка» двух соседних многочленов производная, как правило, имеет разрыв. Часто это обстоятельство не играет роли. Вместе с тем нередко требуется, чтобы аппроксимирующая функция была гладкой и тогда простейшая кусочно-полиномиальная интерполяция становится неприменимой.

clip_image001 Графически кусочно-полиномиальная интерполяция может быть проиллюстрирована на рисунке 6.1.

Естественная потребность в наличии аппроксимирующих функций, которые сочетали бы в себе локальную простоту многочлена невысокой степени и глобальную на всем отрезке [a, b] гладкость, привела к появлению в 1946 году так называемых сплайн-функций или сплайнов – специальным образом построенных гладких кусочно-многочленных функций.

Дадим строгое определение сплайна.

Пусть отрезок [a, b] разбит точками a = X0 < X1 <...< Xn = b на n частичных отрезков [Xi-1, Xi].

Сплайном степени m называется функция Sm(X), обладающая следующими свойствами:

1) Функция Sm(X) непрерывна на отрезке [a, b] вместе со

(1) (2) (p)

всеми своими производными Sm (X), Sm (X), ..., Sm (X) до некоторого порядка р;

2) На каждом частичном отрезке [Xi-1, Xi] функция Sm (X) совпадает с некоторым алгебраическим многочленом Рm, i(x) степени m;

Максимальная по всем частичным отрезкам степень многочленов называется степенью сплайна.

Разность (m-p) между степенью сплайна и наивысшим порядком непрерывной на отрезке [a, b] производной называется дефектом сплайна.

Простейший пример сплайна дает непрерывная кусочно-линейная функция, являющаяся сплайном первой степени (линейным сплайном) с дефектом, равным единице (рисунок 6.2).

clip_image007

Действительно на отрезке [a,b] сама функция S1(X) (нулевая производная) непрерывна. В то же время на каждом частичном отрезке S1(X) совпадает с некоторым многочленом первойй степени.

Наиболее широкое распространение на практике получили сплайны S3(X) третьей степени (кубические сплайны) с дефектом, равным 1 или 2.

Такие сплайны на каждом из частичных отрезков совпадают с кубическим многочленом:

S3 (X) = P3, i (X) = ai + bi(X – Xi-1) + ci(X – Xi-1)^2 + di(X – Xi-1)^3

и имеют на отрезке [a,b] по крайней мере, одну непрерывную производную S3’(X).

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

Пусть функция Y = f (X) задана таблицей своих значений

Yi = f (Xi), i = 0`, n.

Сплайн Sm (X) называется интерполяционным, если Sm (Xi) = Yi для всех i = 0`, n..

Значение Si = Sm’(Xi) называется наклоном сплайна в точке Xi.

Заметим, что на отрезке [Xi-1, Xi] интерполяционный кубический сплайн однозначно определяется заданием значений Yi-1, Yi, Si-1, Si и

S3 (X) = P3,i (X) = {[(X - Xi)^2 * (2 * (X – Xi-1) + hi)] / (hi^3)} * (Yi-1) +{[(X – Xi-1)^2 * (2 * (Xi – X) + hi)] / (hi^3)} * Yi + {[(X - Xi)^2 *(X –Xi-1)] / hi^2} * Si-1 + {[(X – Xi-1)^2 * (X - Xi)] / hi^2} * Si.

Здесь hi = Xi – Xi-1.

Различные методы интерполяции отличаются один от другого способом выбора наклона Si.

Дополнительная справочная литература по интерполяционным сплайнам:

1. Де Бор К. Практическое руководство по сплайнам.

- М.: Радио и связь, 1985.

2. Алберт Дж., Нил сон Э., Уолт Дж. Теория сплайнов и ее приложение, - М.: мир, 1972.

Интерполяционный многочлен с кратными узлами

Иногда в узлах Xi (i ¹ 0`, m)бывают заданы не только значения Yi = f (Xi) функции f, но и значения ее производных Yi’ = f ’(Xi),

(ki-1) (ki-1)

Yi’’ = f ’’(Xi),..., Yi = f (Xi) до некоторого порядка (ki-1).

В этом случае узел Xi называют кратным, а число ki– кратностью узла.

Пусть n = k0 + k1+...+km-1. Можно доказать, что существует единственный многочлен Pn (X) степени n, удовлетворяющий условиям:

Pn (Xi) = Yi, Pn’(Xi) = Yi’....

(ki-1) (ki-1)

Pn (Xi) = Yi для i = 0`, m

Этот многочлен называют интерполяционным многочленом с кратными узлами.

Пусть на концах [X0, X1] заданы значения Y0,Y1, Y0’,Y1’. Тогда m = 1, k0 = 2, k2 = 2, n = 3 и интерполяционный многочлен P3(X), удовлетворяющий условиям

P3(X0) = Y0, P3’(X0) = Y0’

P3(X1) = Y1, P3’(X1) = Y1’ ,

может быть представлен в следующем виде:

P3(X) = Y0 * [(X1 - X)^2 * (2 * (X – X0) + h)] / (h^3) +Y0’*[(X1 – X)^2 * (X – X0) ] / (h^2) + Y1* [(X – X0)^2 * 2(X1 –X)] / h^3 + Y1’* [(X – X0)^2 * (X – X1)] / h^2, h = X1 –X0

Этот многочлен принято называть кубическим интерполяционным многочленом Эрмита.

Предлагаю ознакомиться с аналогичными статьями: