
- •2.3. Интерполяция Постановка задачи
- •Теоретическая оценка погрешности интерполяции
- •Оценка погрешности интерполяции по результатам численного эксперимента
- •2.4. Интерполяция функций с помощью сплайна
- •1) Функция s3(X) непрерывна на отрезке [a,b] вместе со своими производными до второго порядка включительно;
- •Метод прогонки
2.3. Интерполяция Постановка задачи
Пусть некоторая функция f(x) задана своими значениями yj=f(xj) на дискретном множестве точек xj., j=0,…,m. Требуется приближенно определить аналитический вид этой функции и тем самым получить возможность вычислить ее значения в промежуточных точках x(xj,xj+1). График, иллюстрирующий данную задачу, изображен на рис. 2.3.1.
Рис. 2.3.1. К задаче интерполяции функций.
Интерполирующую функцию будем искать в виде алгебраического многочлена
. (2.3.1)
Поскольку многочлен
в узловых точках должен совпадать с
заданными значениями функции, то задача
сводится к решению системы линейных
алгебраических уравнений
относительно неизвестных ai (k – номер начальной узловой точки, используемой в данном расчете).
Эта система уравнений имеет единственное решение (если mn+k, и все xj различны). Решение можно представить в форме интерполяционного многочлена Лагранжа:
(2.3.2)
В частном случае n=1
,
а при n=2
.
Нетрудно заметить, что структура этих
формул такова, что для каждой узловой
точки x=xj
из входящих в набор используемых формулой
узловых точек, только одно слагаемое
отлично от нуля и именно то, в которое
входит yj.
Кроме того, дробь, входящая в это отличное
от нуля слагаемое, равна единице. Поэтому
.
Теоретическая оценка погрешности интерполяции
, (2.3.3)
где xj
- узлы сетки,
.
Для непосредственного применения этой
формулы необходимо иметь оценку n+1-
й производной функции
.
Если речь идет об интерполяции известной
функции по ее табличным значениям, то
такая оценка может быть получена
аналитически. Например, производная
любого порядка от функций sinx
и cosx по
модулю не превышает единицы.
Оценка погрешности интерполяции по результатам численного эксперимента
В случае, когда интерполируемая функция является результатом численного решения некоторой задачи, вся информация об искомой функции исчерпывается ее значениями в узловых точках. Задача интерполяции при этом является некорректной, поскольку может существовать сколько угодно функций, проходящих через данные точки (рис 2.3.2). То есть, решение задачи может быть получено только с точностью до произвольной аддитивной составляющей, имеющей нулевые значения во всех заданных узловых точках.
В оправдание этого можно сказать, что если сетка выбирается произвольно, то существование функции, равной нулю именно в узловых точках этой сетки маловероятно. Можно также указать разные способы использования нескольких сеток для повышения надежности получаемых результатов.
Рис. 2.3.2. Некорректность задачи интерполяции
Мы рассмотрим подход к оценке погрешности интерполяции, не требующий использования никакой другой информации, кроме значений функции в узловых точках.
Для этого на основании (2.3.3) представим математическую модель погрешности интерполяции в следующем виде
. (2.3.4)
Здесь
- узлы некоторой сетки; j=0,...,
,
c - величина, предполагаемая независимой
от положения узлов; k1 - номер
начального узла, используемого
интерполяционной формулой; 1(x)
- дополнительная часть погрешности,
полагаемая малой величиной по сравнению
с первым слагаемым.
Теперь заменим сетку, используя новые
узлы
,
j=0,...,
.
Тогда получим второе уравнение для
нахождения неизвестных c и f(x)
. (2.3.5)
Вычитая (2.3.4) из (2.3.5) и пренебрегая малыми, найдем c
,
, (2.3.6)
оценку погрешности интерполяции
(2.3.7)
и более точное значение функции
. (2.3.8)
Формировать разные сетки можно различными способами (например, уменьшением шага в 2 раза, выбором закона распределения узлов). В том числе для оценки интерполяции можно использовать значения функции в других узлах той же самой сетки. Последнее может оказаться более удобным с практической точки зрения. Способ выбора узлов также может быть различным.
Рассмотрим случай, когда второй набор
состоит из узлов
с номерами от k+1 до n+k+1 (т.е.
k1=k,
k2=k+1).
В этом случае согласно (2.3.7) погрешность
оценивается по формуле
, (2.3.9)
а (2.3.8) принимает вид
. (2.3.10)
Функция (2.3.10) в действительности представляет собой интерполяционный многочлен степени n+1, так как:
-
является алгебраическим многочленом
степени n+1;
- в узлах с номерами от i=k+1 до
i=k+n оба многочлена
и
,
а, следовательно, и
,
совпадают с
;
-
;
-
.
Формула (2.3.10) называется рекуррентным соотношением Эйткена [1].
Таким образом, данный способ оценки
погрешности интерполяции сводится к
построению интерполяционного многочлена
и сравнению проверяемых значений
с
как с более точными.