Интерполяция функций.doc. Интерполяция функций
![]()
|
интерполяция функцийОбсуждаются постановка задач интерполяции таблично заданных функций, интерполяция полиномами Лагранжа, квадратичными и кубичными сплайнами. Приводятся способы вычисления таблично заданной функции, используя различные способы интерполяции. Рассматриваются примеры, которые показывают область применения интерполяции функций. Постановка задач об интерполяции функцииПри трактовке понятия "приближение" в широком смысле окажется, что большая часть методов вычислений окажется предметом изучения теории приближения. В данном разделе учебного пособия под теорией приближения будет пониматься узкий круг вопросов, касающихся приближения функций одного или нескольких переменных с помощью других функций. Иначе данный круг задач называются задачами аппроксимации функций. Рассмотрим ряд прикладных задач, которые приводят к аппроксимации функций. Одна из них связана с сокращением времени вычисления значений функции на ЭВМ. Допустим, что требуется проводить многократное вычисление функции ![]() ![]()
Естественным образом возникает стремление заменить функцию ![]() ![]() ![]()
где величина ![]() ![]() ![]() Другая задача, которая приводит к аппроксимации функций, связана с экономией оперативной памяти ЭВМ. Предположим, что функция ![]() ![]() ![]() ![]()
Далее в вычислительном процессе используется эта таблица и при большом значении ![]() ![]() ![]() ![]() ![]() ![]() Следующая прикладная задача, которая приводит к задаче аппроксимации функции, связана поиском эмпирических зависимостей по экспериментальным данным. Как правило, экспериментальные данные обычно представляются в виде таблицы (2.2.3). На основе практического опыта исследователь предполагает, что полученная таблица является реализацией некоторого эмпирического закона ![]() ![]() ![]() ![]() ![]() При решении задач интерполяции функций возникает проблема количественного описания того, насколько хорошо функция ![]() ![]() Наиболее широко применяются два вида норм: а) равномерная непрерывная норма
б) среднеквадратичная интегральная норма
или ее дискретный аналог
которая согласована с интегральной в том смысле, что
когда предел существует. Задачи интерполяции, которые используют норму а) в качестве количественного критерия близости, называются задачами равномерного приближения. Задачи интерполяции, использующие норму б) для описания близости приближения, называются задачами среднеквадратичного приближения. Задачи аппроксимации могут также классифицироваться по виду зависимости от параметров ![]() ![]() Интерполяция ЛагранжаДовольно часто приближение функции ![]() ![]() ![]() Например, для этого можно использовать разложение ![]() ![]() ![]() ![]()
Оценка погрешности аппроксимации следует из формулы остаточного члена отрезка ряда Тейлора
Та же функция может быть представлена многочленом Тейлора с центром в любой точке ![]()
Предположим, что известны значения ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Рис. 2.2.1. Графическая иллюстрация задачи интерполяции Положим
где ![]() ![]() ![]() Предположим, что нам таблично задана функция ![]() ![]()
Выполнение условий (2.2.12) означает, что график полинома ![]() ![]() ![]() ![]() ![]() Рис. 2.2.2. Графическое представление интерполяции Лагранжа Принимая во внимание, что полином ![]()
соотношения (2.2.12) перепишем в развернутом виде
Получена система линейных уравнений относительно коэффициентов полинома ![]()
не равен нулю и поэтому она имеет единственное решение. Лагранж нашел ее решение и получил, что интерполяционный полином можно записать в виде
Полином (2.2.16) называется интерполяционным полиномом Лагранжа и его можно переписать в более компактной форме
Рассмотрим следующий пример, когда функция задана таблицей 2.2.1. Таблица 2.2.1 Значения функции
Следуя формуле (2.2.16), находим интерполяционный полином Лагранжа
Требуется найти значение функции в точке ![]()
Представленный пример демонстрирует то, что для формального построения интерполяционного полинома Лагранжа достаточно иметь лишь таблицу значений функции ![]() Вычислительная схема ЭйткенаДля случая, когда нет надобности находить интерполяционный полином ![]() ![]() ![]()
и т.д. Можно показать, что
Вычисления по схеме Эйткена проводятся до тех пор, пока не будет выполнено неравенство
в котором ![]() ![]() Рассмотрим технологию вычислений по схеме Эйткена на примере функции, определяемой таблицей 2.2.1. Результаты вычислений представлены в таблице 2.2.2. Таблица 2.2.2 Вычисление значение полинома Лагранжа по схеме Эйткена
Из анализа приведенных данных видно, что процесс вычисления по схеме Эйткена дает такой же результат, который получен при вычислении значения интерполяционного полинома Лагранжа (см. выражение (2.2.19)). Таким образом, получаем, что интерполяционный полином Лагранжа с некоторой погрешностью описывает функцию ![]() ![]() ![]() ![]() Интерполяция сплайнамиЕсли нам заранее известно, что таблично заданная функция не имеет непрерывные производные не высокого порядка, то для ее вычисления не имеет смысла применять интерполяционный полином Лагранжа, так как ошибка аппроксимации может оказаться большой. Для таких случаев применяют сплайн аппроксимацию. Пусть дан интервал ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() Рис. 2.2.3. Пример сплайна дефекта 1 Дефектом сплайна ![]() ![]()
На рис. 2.2.3 и рис. 2.2.4 приведены примеры сплайнов с дефектами равными 1 и 2 соответственно. Наиболее часто применяются сплайны дефекта 1, в частности параболические и кубические сплайны, которые будем рассматривать в данном разделе учебного пособия. ![]() Рис. 2.2.4. Параболический сплайн дефекта 2 Первой рассмотрим параболическую интерполяцию. Предположим, что известна функция ![]() ![]() ![]() ![]() ![]()
на каждом интервале ![]()
которые указывают на то, что в узлах значения полиномов совпадают с табличными значениями функции ![]() ![]()
Для того чтобы определить сплайн ![]() ![]()
Условия (2.2.28) и (2.2.29) дают ![]()
или аналогичное ему условие для правого конца интервала ![]()
Покажем, что условия (2.2.28), (2.2.29) и (2.2.31) дают возможность определить все коэффициенты (2.2.30). Из (2.2.31) находим
Из (2.2.28) имеем
Отсюда получим
Из (2.2.29) имеем
из которого находим
Подставляя (2.2.37) в (2.2.36), получим формулу
С помощью которой последовательно можно вычислить все значения ![]() ![]() ![]() ![]() ![]() ![]() ![]()
Таким образом, все коэффициенты (2.2.30) определяются однозначно через координаты узлов и соответствующие значения функции ![]() Интерполяция кубическими сплайнами наиболее широко применяется в настоящее время. По аналогии с параболическим сплайном (2.2.27) кубический сплайн ![]()
на каждом интервале ![]() ![]()
а во внутренних узлах потребуем непрерывности первой и второй производных
Общее число неизвестных коэффициентов ![]() ![]() ![]() ![]() ![]()
При этом сплайн ![]() Примеры задач, использующие интерполяцию функций
|