Уважаемые посетители Портала Знаний, если Вы найдете ошибку в тексте, выделите, пожалуйста, ее мышью и нажмите Сtrl+Enter. Мы обязательно исправим текст!


Случайная цитата


Все люди от природы стремятся к знанию. (Аристотель. Метафизика)

Интерполяция сплайнами: теоретические основы

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

Такая задача называется задачей интерполяции и часто возникает на практике.

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

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

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

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

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

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

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

Степенью сплайна называется максимальная по всем частичным отрезкам степень многочленов, а дефектом сплайна - разность между степенью сплайна и порядком наивысшей непрерывной на [a,b] производной. Например, непрерывная ломанная является сплайном степени 1 с дефектом 1 (так как сама функция – непрерывна, а первая производная уже разрывна).

На практике наиболее часто используются кубические сплайны - сплайны третьей степени с непрерывной, по крайней мере, первой производной. При этом величина , называется наклоном сплайна в точке (узле) .

Разобьём отрезок [a,b] на N равных отрезков [, ], где , i=0,1,…,N-1,.

Если в узлах , заданы значения , , которые принимает кубический сплайн, то на частичном отрезке [,] он принимает вид:

. (1)

В самом деле, это легко проверить, рассчитав и в точках ,.

Можно доказать, что если многочлен третьей степени принимает в точках , значения , и имеет в этих точках производные, соответственно, , то он совпадает с многочленом (1).

Таким образом, для того, чтобы задать кубический сплайн на отрезке, необходимо задать значения , i=0,1…,N в N+1 в узле.

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

Существует несколько способов задания наклонов интерполяционного кубического сплайна.

Способ 1 (упрощенный):

Положим:

, i=1,2,…, N-1, (2)

, (3)

Данные формулы являются формулами численного дифференцирования второго порядка точности относительно шага h=(b-a)/N.

Способ 2:

Если у нас имеются значения производной в узлах , то полагаем , i=0,1,…,N.

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

Способ 3 (глобальный):

Пусть - значение в узле справа, его мы найдем из выражения (1), а значение в узле слева – оно находится из соответствующего выражения на частичном отрезке [,], которое получается из (1) заменой i на i-1.

Тогда получим:

Потребуем непрерывность в узлах:

, i=1,2,…, N-1.

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

(4)

Так как система содержит N+1 неизвестных, необходимо задать два дополнительных условия, называемые краевыми.

Приведем три варианта задания краевых условий:
1) В случае, когда известны задаем

, .

2) Производные , аппроксимируем формулами численного дифференцирования третьего порядка точности:

(6)

3) Иногда бывают известны значения на концах отрезка [a,b], т.е. величины . Тогда требования приводят к краевым условиям

(7)

Условия (5)-(7) можно комбинировать , т.е. выбирать их независимо в левом и правом узлах.

Система (4) при всех рассмотренных краевых условиях имеет единственное решение, которое можно найти с помощью методов прогонки и итераций.

Таким образом, решая систему (4) при выбранных краевых условиях, находим наклоны i=0,1,…,N, во всех узлах. Затем по формуле (1) задаем сплайн на каждом частичном отрезке [,], i=0,1,…,N-1. Построенный данным глобальным способом сплайн имеет дефект не больше единицы, так как этот сплайн обладает на отрезке [a,b] непрерывной второй производной .


Список литературы:

В.П.Боровиков. STATISTICA. Искусство анализа данных на компьютере: для профессионалов (2-е издание), СПб.: Питер, 2003. – 688 с.: ил.

E.A.Волков. Численные методы. Москва, “Наука”, Главная редакция физико-математической литературы, 1987 г.

Онлайн ресурс Лозаннского университета: http://sepia.unil.ch/pharmacology


В начало

Содержание портала