Каталог@Mail.ru - каталог ресурсов интернет HitMeter - счетчик посетителей сайта, бесплатная статистика

Коротко об интерполяции

На главную Математический раздел Криптография и т.д. Новости

Что такое интерполяция

Нередко результатами каких-либо эксперименов, измерений является набор точек данных, то есть значений вида (x0, y0), ..., (xn, yn), при этом нужно каким-то образом получить приближённые значения y при других значениях x. Это можно сделать, построив функцию, проходящую через эти точки. Такая функция будет называться интерполирующей функцией, а сам вид приближённых вычислений - интерполяцией. Точки xi - узлы интерполяции, а весь их набор - интерполяционная сетка.

На следующем рисунке наглядно показано, что такое интерполирующая функция.

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

Полиномиальная (многочленная) интерполяция

Относительно простым и довольно распространённым вариантом интерполяции является многочленная интерполяция. Если есть n+1 точек, то можно построить полином степени не выше n, проходящий через эти точки.

Допустим, есть точки данных (-1, 2), (0, 1), (1, 2). Тогда можно соорудить интерполяционный полином степени не выше 2, и, кстати, легко подобрать параболу, проходящую через эти 3 точки:

Если узлов много, то такой вариант интерполяции таит в себе опасность:

Чтобы избегать таких случаев, используется кусочно-полиномиальная интерполяция. То есть используется не единый полином для всего диапазона значений x, а для каждого поддиапазона "свой" отдельный полином.

Но не всякая кусочно-полиномиальная интерполяция хороша. Как минимум неплохо бы обеспечить непрерывность интерполирующей функции. Простой и распространённый способ добиться этого - кусочно-линейная интерполяция:

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

Краткая суть сплайнов

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

Так, чтобы обеспечить непрерывность первой производной, можно воспользоваться квадратичным сплайном.

В нашем небольшом примере составлен квадратичный сплайн из двух кусков-парабол. Производная левого куска равна -2x, правого соответственно 2x. В точке x = 0 они совпадают.

Некоторые иные виды интерполяции

Разумеется, разные варианты полиномиальной интерполяции - не единственный способ получения интерполирующей функции. Например, существует рациональная интерполяция, когда интерполирующую функцию ищут в виде отношения полиномов (название происходит от понятия "рациональная функция", коей зовётся всякая функция-дробь с числителем и знаменателем в виде полиномов). Есть также тригонометрическая интерполяция, здесь интерполяционная функция ищется в виде a0 + a1 * cos(x) + b1 * sin(x) + ... + an * cos(nx) + bn * sin(nx). Такая интерполяция используется для приближения периодических функций.

copyright © Исканцев Н.В., 2013

К математическому разделу
На главную
X