Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методы Вычислений 2.doc
Скачиваний:
59
Добавлен:
20.05.2015
Размер:
1.77 Mб
Скачать

45

ИНТЕРПОЛИРОВАНИЕ

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

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

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

Функция может быть представлена неопределенным интегралом или дифференциальным уравнением.

Во всех случаях, когда значения функции либо невозможно точно вычислить, либо вычисление слишком громоздко, прибегают к составлению таблиц функции, если эта функция встречается в различных задачах. Таким образом, мы приходим к табличному заданию функции, то есть такому, когда функция определяется таблицей своих значений при заданных значениях аргументов , i=1,2,…n:

t1

x1

t2

x2

ti

xi

tn

xn

Табличные значения функции и аргумента называют узлами таблицы.

Разность двух соседних значений аргумента называется шагом таблицы . Если эта разность изменяется, то таблица называется таблицей с переменным шагом, если разность неизменна, то это таблица с постоянным шагом. Стараются строить таблицы с постоянным шагом. Шаг, вообще говоря, не может быть очень малым, иначе сильно возрастает объем таблицы.

Обычно таблица располагается так, что аргумент (например, время) возрастает.

При решении задач естествознания, как правило, приходится иметь дело со случаями, когда нужны значения функции не только для табличных значений аргумента (узлов). Так, например, часто требуется знать координаты Солнца относительно Земли, но почти всегда не в 0h Всемирного времени, как дается в Астрономическом ежегоднике, а в определенные промежуточные моменты.

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

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

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

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

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

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

Во-вторых, надо потребовать, чтобы приближение было возможно лучшим. Что значит «лучшим»? На практике употребляют различные критерии наилучшего приближения. Мы примем такой: приближающий полином, который должен точно представлять узлы таблицы. То есть интерполяционный полином должен на графике пройти через все точки (узлы) табличной функции. По этой причине интерполяция с указанным условием называется точечной интерполяцией.

Если какая-либо величина изменяется пропорционально времени, то разность значений через равные промежутки времени постоянна. В этом случае, можно применить простейшее линейное интерполирование.

Если за 24 часа величина Х изменяется равномерно на , то ее значение для момента t часов, прошедших после момента t0 равно

.

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

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

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

Найдем, прежде всего, полином (многочлен), который принимает значение 1 в одной узловой точке и 0 во всех других. Очевидно несложная функция

, [7]

где штрих у знака произведения означает , является требуемым полиномом степениn-1.

Заметим, что через n точек однозначно можно провести полином степени не выше n-1, например, через 2 точки можно однозначно провести прямую (кривую 1-го порядка), через 3 точки – параболу (кривую 2-го порядка) и т.д.

Легко проверить, что равен 1, если; и 0, когда. Домножимна, полученный полиномпринимает значениев j-й узловой точке и равен нулю во всех других узлах. Поэтому сумма таких полиномов будет принимать значениядля аргумента:

,

Отметим: j – порядковый номер промежуточного полинома в сумме, строящей полином Лагранжа;i – номер любого узла таблицы.

В общем случае

[8]

Это и есть искомый полином степени n-1, проходящий через все n узлов таблицы :,.

Впервые интерполяционный полином Лагранжа был опубликован в 1795 году.

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

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

Пример. Дана таблица

t

x

1

2

3

7

Построить интерполяционный полином Лагранжа и найти значение L (2).

n=2. Согласно [8] ;

Согласно [7] ;.

Или ,

. Подставляя числа

.

Это интерполяционный полином 1-го порядка – прямая.

Для t = 2, L = 4.5.

Пример. Дана таблица

t

x

1

2

3

7

4

1

Построить интерполяционный полином Лагранжа и найти значение L (2).

n=3. Согласно [8] ;

Согласно [7]

;

,

.

Это интерполяционный полином 2-го порядка – парабола.

Для t = 2, L = 7.33.

На этом рисунке показан график полинома Лагранжа, построенного по 5-ти узлам – полином 4-го порядка.

На этом рисунке показан график полинома Лагранжа, построенного по 8-ти узлам – полином 7-го порядка.

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