Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава2 (17-57).doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
924.67 Кб
Скачать

2.6 Постановка задачи интерполирования

В первоначальном понимании интерполяция1 – это нахождение промежуточных значений табличной функции («сгущение» таблицы). В более широком смысле – это восстановление функции (точное или приближенное) по известным ее значениям, то есть замена табличной функции другой, заданной в аналитическом виде. Цели интерполяции могут быть различны, но почти всегда в ее основе – желание иметь быстрый алгоритм вычисления значений f(x) для х, не содержащихся в таблице данных {xi , yi }. Компактная таблица данных и небольшая программа интерполирования могут заменить очень длинную таблицу значений функции.

При интерполяции требуется точное прохождение интерполяционной функции у=F(x) через узловые точки {xi , yi }:

F( xi ) = f( xi ) = yi . (2.4)

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

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

используется для интерполяции функции f(x) на всем рассматриваемом интервале изменения аргумента х.

Ясно, что потребовав, чтобы он проходил через n+1 точку , получим n+1 линейное уравнение для неизвестных коэффициентов аk :

.

Определителем этой системы является отличный от нуля определитель Вандермонда:

Отсюда следует существование и единственность интерполяционного полинома при xi xj .Но отметим сразу, что форм его записи может быть много.

Интерполяционные многочлены могут также строиться отдельно для разных частей рассматриваемого интервала изменения х. В этом случае говорят о кусочной (локальной) интерполяции.

Простейшим видом локальной интерполяции является линейная интерполяция (рис.2.3). Ее суть: функция считается изменяющейся между двумя соседними значениями аргумента линейно, то есть узловые точки {xk , yk}, k=0, 1,.., n соединяются прямолинейными отрезками.

Следовательно, интерполяционный многочлен будет состоять из «кусочков» вида

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

,

Рис.2.3 – Линейная интерполяция

где .

2.7 Интерполяционный полином лагранжа

Если при построении интерполяционного полинома выбрать в качестве базиса одночлены, например, 1, х, х2,...,хn , как это было сделано выше, то во многих случаях система линейных уравнений для нахождения коэффициентов, получается плохо обусловленной (см. главу 4). Например, в случае равномерного распределения узлов на отрезке [0, 1] последовательные степени х, х2, ... почти линейно зависимы (отчасти потому, что все они положительны и графики всех идут от точки (0, 0) к точке (1, 1). Эта близость к линейной зависимости делает решение линейной системы при нормальной рабочей точности крайне трудным делом для порядка n, превышающего 10.

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

Пусть задана таблица {xi, yi}, i = 0, ..., n c произвольным расположением узлов x0 < x1 <...< xn .

Построим вспомогательный полином n-ой степени, который равнялся бы единице в узловой точке x=xi , а во всех других узловых точках равнялся бы нулю:

.

Если ввести обозначение , то вспомогательный (лагранжев) полином запишется в виде:

.

Тогда интерполяционный полином Лагранжа будет представлять собой линейную комбинацию этих вспомогательных полиномов:

Очевидно, что основное условие интерполяции выполняется: Ln(xi)=yi .

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

В любой точке, не являющейся узлом интерполяции, функция y будет отличаться от полинома Ln. Рассмотрим погрешность интерполяционной формулы Лагранжа Rn(x)=f(x) – Ln(x).

Теорема. Если f(x) – непрерывная дифференцируемая n+1 раз на отрезке [a, b] функция, содержащая узловые точки x0, x1,..., xn , то для любого x[a, b] найдется такая точка [a, b], что погрешность

. (2.5)

Доказательство. Введем в рассмотрение функцию

u(z) = f(z) – Ln(z) – k(z),

где k – неизвестный пока коэффициент.

Очевидно, что при z=x0, x1,...,xn функция u(z) обращается в нуль, то есть функция u(z) на интервале [a,b] имеет n+1 корень.

Выберем k таким образом, чтобы u(x)=0 в точке, не совпадающей с узлом. Для этого достаточно положить

f(x) – Ln(x) – k(x) = 0, то есть k = Rn(x)/(x).

Таким образом, функция u(z)=Rn(z) – Rn(x)(z)/(x) равна нулю в n+2 точках x0, x1,..., xn, x.

Тогда по теореме Ролля1 ее производная u(z) обращается в нуль по крайней мере в n+1 точке. Применяя теорему Ролля к функции u(z), получаем, что ее производная u(z) обращается в нуль по крайней мере в n точках. Продолжая эти рассуждения дальше, получаем, что

обращается в нуль по крайней мере в одной точке [a, b].

Так как , а , то

.

Следовательно, ,

где .

Таким образом,

. (2.6)

Пример. Построить интерполяционный полином Лагранжа для функции f(x)=x1/2 c узлами интерполяции х0=100; х1=121; х2=144. Оценить погрешность интерполяции в точке х=116.

1. Оценим погрешность.

так как на отрезке [100,144] функция f (3)(x) убывающая. Поэтому

2. Построим полином.

Таблица имеет вид

хк

100

121

144

ук

10

11

12

Тогда

Примечание 1. Если относительно функции f ничего неизвестно, кроме ее значений в узлах интерполяции, то никаких полезных суждений относительно погрешности Rn(x) сделать нельзя.

Конец примечания 1.

Примечание 2. Как видно из примера, оценку погрешности можно провести до вычисления интерполяционного многочлена, то есть это априорная оценка погрешности. Ранее мы проводили оценку погрешности по первому отброшенному члену ряда после выполнения вычислений на каждом шаге. Это была апостериорная оценка.

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

Конец примечания 2.

Теперь рассмотрим следующую задачу. Пусть задана некоторая функция (то есть принадлежащая классу непрерывных и n+1 раз дифференцируемых функций). Требуется заменить эту функцию интерполяционным полиномом Ln(x), причем имеется свобода выбора узловых точек.

Возникает вопрос, как выбрать узлы, чтобы максимальная погрешность интерполяции функции f на этом отрезке была минимальной. Это довольно сложная задача, и ее удается решить лишь для некоторых частных функций. Ограничимся решением более простой задачи, а именно, нахождением такого расположения узлов, при котором минимальна величина max(x) и поэтому минимальна правая часть оценки погрешности.

Для этого полином (х) должен быть полиномом Чебышева (именно этот полином на отрезке [–1, 1] имеет наименьшее значение максимума модуля), а в качестве узлов интерполяции необходимо взять корни полинома Чебышева Tn+1(x) (формула (2.2)), то есть точки

k=1, ..., n+1.

Тогда (х)=2–nTn+1(x) и .

В силу вышеупомянутого свойства полиномов Чебышева улучшить эту оценку за счет другого выбора узлов нельзя.

Для произвольного отрезка [a, b] оптимальные узлы интерполяции в соответствии с формулой (2.3) имеют вид

.

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