![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
1.1. Постановка задачи интерполирования
При решении практических задач довольно часто приходится иметь дело с функциями, заданными таблично для некоторого конечного множества значений аргумента *, принадлежащих отрезку [a,b] из области определения функции. В процессе же решения задачи может появиться необходимость использования значений функций в точках, не совпадающих с табличными. В этом случае строят функцию
, достаточно простую для вычислений, которая в заданных точках
совпадает с табличными значениями функции, т.е.
.
В остальных точках отрезка [a,b] функция приближенно представляет функцию f(x). Вместо вычисления значения функции f(x) в произвольной точке отрезка [a,b] вычисляют значение
в этой точке и полагают
. Задача по строения такой функции
называется задачей интерполирования. Точки
называются узлами интерполяции (или узлами интерполирования), а функция
- интерполирующей функцией.
Интерполирование можно использовать и в тех случаях, когда аналитическое выражение функции f(x) известно, но является сложным, и вычисление каждого значения требует большого объема вычислительной работы. Если же требуется вычислить значение функции для большого количества значений аргумента, имеет смысл вычислить несколько значений f(xi) , по этим значениям построить интерполирующую функцию и с ее помощью приближенно вычислить значения f(x) в остальных точках.
Слово “интерполирование” означает изхождение внутренних значений. На практике могут встретиться два случая.
1. Требуется вычислить f(x) для . Задача в этом случае называется интерполированием в узком смысле.
2. Требуется вычислить f(x) для . В этом случае задача называется экстраполированием.
В дальнейшем под интерполированием понимаем оба эти случая. Геометрически задача интерполирования означает построение кривой , проходящей через заданные точки плоскости с координатами
. Очевидно, что через данные точки можно провести бесчисленное множество различных кривых. Задача становится однозначной, если интерполирующую функцию искать в виде алгебраического множества степени, не выше n. Интерполирование в этом случае называется алгебраическим. Если отрезок [a,b], содержащий узлы интерполяции, имеет малую длину, а функция f(x) имеет производные достаточно высоких порядков, то из формулы Тейлора вытекает, что она мало отличается от алгебраического многочлена. Можно ожидать, что в этих случаях алгебраическое интерполирование даст достаточно высокую точность.
На практике используют не только алгебраическое интерполирование. Если, например, на всей оси интерполируется периодическая функция, естственно искать интерполирующую функцию в виде тригонометрического многочлена с тем же периодом. Иногда в качестве интерполирующей функции удобно выбирать рациональную функцию и др.
Рассмотрим подробнее алгебраическое интерполирование.
1.2. Единственность интерполяционного многочлена
Пусть на отрезке [a,b] заданы узлы интерполяции и значения функции f(x) в этих узлах
. Все узлы предполагаются различными, т.е.
при
. Требуется выяснить, существует ли интерполяционный многочлен
степени, не выше n, и является ли он единственным. Запишем интерполяционный многочлен в виде
.
Так как - интерполяционный многочлен, он должен удовлетворять условиям
(1.1)
Эти условия приводят к системе линейных алгебраических уравнений относительно неизвестных :
(1.2)
………………………………….
Определителем этой системы является определитель Вандермонда
=
.
В силу наших предположений при
, и поэтому определитель системы отличен от нуля. Отсюда вытекает, что система (1.2)
имеет единственное решение, и, следовательно, интерполяционный многочлен существует и он единственен.
1.3. Интерполяционный многочлен Лагранжа
Пусть задана функция f(x) в (n+1) узле интерполяции:
x | x0 | x1 | … | xn |
f(x) | f(x0) | f(x1) | … | f(xn) |
Показано, что интерполяционный многочлен существует, притом единственный. Необходимо его построить.
Построим вспомогательный многочлен
, равный единице при
и равный нулю в остальных узлах интерполяции, т.е.
1 при
(1.3)
0 при
Так как все узлы интерполяции, кроме , являются корнями многочлена
, последний можно записать в виде
. (1.4)
Постоянную с определяем из условия подстановкой
в (1.4):
.
Таким образом,
. (1.5)
Рассмотрим многочлен
(1.6)
Покажем, что это интерполяционный многочлен. Действительно, , как линейная комбинация с постоянными коэффициентами многочлена степени n, является многочленом степени, не выше n, причем
.
Интерполяционный многочлен , получаемый по формуле (1.6), называется интерполяционным многочленом Лагранжа (Ж. Лагранж (1736 – 1813) – великий французский математик и механик), а само равенство (1.6) – формулой Лагранжа. Применяется и другая форма записи интерполяционного многочлена Лагранжа.
Введем - многочлен степени (n+1):
.
При помощи многочлен
запишется в виде
.
Интерполяционный многочлен можно представить в следующем виде:
(1.7)
Пример. Построить интерполяционный многочлен Лагранжа для функции, заданной таблично:
X | -0.5 | ||
f(x) | -0.21 | -1.50 | 0.53 |
.
Отметим, что в формулах (1.6) и (1.7) в слагаемых суммы множителя зависят только от выбора узлов xi и от точки х и не зависят от функции f(x). Множители f(xk) позволяют учитывать влияние на
свойств функции и ее значений. Это особенно удобно в тех случаях, когда необходимо составлять интерполяционные многочлены для различных функций по одной системе узлов
. Множители
можно посчитать один раз и использовать их при составлении всех интерполяционных многочленов.
Неудобство интерполяционной формулы Лагранжа проявляется в следующей ситуации. Пусть составили интерполяционный многочлен по m узлам. После проверки результата оказалось, что точность недостаточна. В этом случае на практике часто строят интерполяционный многочлен, добавив один или несколько новых узлов. Вычисления, которые проводились с учетом m узлов, окажутся абсолютно непригодными в этом случае, все вычисления необходимо проводить с самого начала, так как в интерполяционном многочлене Лагранжа меняются все слагаемые.
1.4. Погрешность интерполяционной формулы Лагранжа
Пусть для функции f(x), заданной в (n+1) узле, построили интерполяционный многочлен Лагранжа . Значения заданной функции и интерполяционного многочлена в узлах интерполяции сов падают. Нас интересует, насколько близко построенный многочлен
приближается к функции f(x) в других точках отрезка [a,b], содержащего узлы интерполяции, т.е. насколько велика погрешность интерполирования
при
.
Пусть заданная функция f(x) есть многочлен степени, не выше n. Тогда является также многочленом степени не выше n. Интерполяционный многочлен и заданная функции в (n+1) узле имеют одинаковые значения, следовательно,
имеет по крайней мере (n+1) корень. Многочлен степени n не может иметь больше n корней. Следовательно,
=0, и
совпадает с f(x) во всех точках отрезка. Во всех остальных случаях
.
Теорема. Пусть интерполируемая функция f(x) имеет на отрезке, [a b], содержащем узлы интерполяции , непрерывные производные до порядка (n+1). Тогда на [a,b] существует такая точка
, что для погрешности интерполирования будет верно равенство
.
Доказательство. Рассмотрим вспомогательную функцию
, (1.8)
где к – некоторая константа.
Очевидно, что . Подберем k таким, чтобы
, где х – та точка отрезка [a,b], для которой строим интерполяционный многочлен и производим оценку погрешности интерполирования. Подставляя в (1.8) z=x и
, получаем
. (1.9)
Знаменатель этой дроби отличен от нуля, так как . Итак, функция
на отрезке [a,b] имеет (n+2) корня:
х0, х1, …,хn, х.
Применяя теорему Ролля к функции , получим, что
имеет по крайней мере (n+1) корень на интервале [a,b]. Применяем теорему Ролля к функции
. Получаем, что
имеет по крайней мере n корней на интервале [a,b]. Продолжая эти рассуждения, придем к выводу, что
имеет по крайней мере один корень на интервале [a,b], т.е. существует такая точка
на интервале [a,b], что
.
Вычисляем (n+1) производную от функции :
. (1.10)
Подставляя в (1.10) и
, получаем
,
откуда
. (1.11)
Из формул (1.9) и (1.11) получаем
.
Отсюда
(1.12)
Теорема доказана.
Обозначая
,
получаем
. (1.13)
Рассмотрим следующую задачу.
На отрезке [a,b] известны значения функции f(x) в m точках . Требуется построить интерполяционный многочлен
для приближенного вычисления функции в некоторой точке х. Для построения
необходимо взять (n+1) узел. Какие точки взять в качестве узлов интерполяции, чтобы погрешность была наименьшей? Рассмотрим неравенство (1.13). Множитель
не зависит от выбора узлов интерполяции. Множитель
принимает наименьшее значение, если узлы интерполяции выбираются следующим образом. В качестве х0 возьмем ближайшую к х из заданных точек, в качестве х1 – ближайшую к х из оставшихся заданных точек и т.п.
Очевидно, что при таком выборе узлов принимает наименьшее значение.
Пример. Оценить, с какой точностью можно вычислить по интерполяционной формуле Лагранжа , если восспользоваться известными величинами
,
,
.
Рассмотрим функцию . Узлы интерполяции: х0=25; х1=36; х2=49. По этим узлам можно построить
. Погрешность
;
;
;
;
;
Итак, рассмотрены интерполяционная формула Лагранжа и ее погрешность. Отметим, что при составлении интерполяционного многочлена Лагранжа никаких условий на расстояния между узлами интерполяции не ставилось: они могут быть произвольными, не равными между собой. Естественно ожидать, что, если расстояния между последовательными узлами интерполяции равны, вид интерполяционного многочлена упростится. Для записи интерполяционных многочленов в этих случаях требуется понятие о конечных разностях.
1.5. Конечные разности и их свойства
Пусть известны значения некоторой функции y=f(x) для равноотстоящих значений аргумента :
,
, …,
.
Постоянная величина h называется шагом таблицы.
Конечными разностями первого порядка называются величины ,
, …,
…. Аналогично вводятся конечные разности второго порядка
,
, …,
, … и т.д. Конечные разности
(m+1) порядка определяются через конечные разности m-го порядка следующим образом:
;
; …;
.
Табл. 1.1 конечных разностей для функции y=f(x) обычно записывают в следующем виде,
Таблица 1.1.
х | y | ![]() | ![]() | ![]() | ![]() | |
x0 | y0 | |||||
![]() | ||||||
x1 | y1 | ![]() | ||||
![]() | ![]() | |||||
x2 | y2 | ![]() | ![]() | |||
![]() | ![]() | |||||
x3 | y3 | ![]() | ||||
![]() | ||||||
x4 | y4 | |||||
Приведенная таблица называется диагональной таблицей конечных разностей. Иногда используется горизонтальная таблица разностей (х0, y0, ,
,
и т.д. располагаются в одной верхней строке).
Если табличные значения функции заданы с одинаковым числом десятичных знаков, то при оформлении таблицы конечных разностей разности записываются в единицах последенго разряда табличных значений функции без нулей впереди.
Так, например, табл. 1.2 конечных разностей для функции будет выглядеть следующим образом.
Таблица 1.2
х | y | ![]() | ![]() | ![]() | ![]() | |
2.0 | 0.6931 | |||||
2.1 | 0.7419 | -22 | ||||
2.2 | 0.7885 | -22 | ||||
2.3 | 0.8329 | -18 | ||||
2.4 | 0.8755 | |||||
Свойства конечных разностей
1. Конечная разность суммы двух функций равна сумме конечных разностей слагаемых
и
.
2. Если , где с – постоянный множитель, то
Свойства 1 и 2 верны для конечных разностей любого порядка и следуют из определения конечных разностей.
3. Конечная разность порядка n от многочлена степени n равна постоянной величине, и, следовательно, конечные разности более высокого порядка равны нулю.
Рассмотрим произвольный многочлен степени n:
.
Покажем, что конечная разность первого порядка представляет собой многочлен степени (n-1).
Действительно, имеем
.
Аналогично получаем
и т.д.:
,
.
4. Разность порядка k можно выразить непосредственно через табличные значения функции.
Покажем это. По определению конечных разностей имеем:
;
;
.
При помощи метода математической индукции можно показать, что
. (1.14)
Запишем выражение (1.14) в компактной форме. Для этого введем оператор Е, применение которого к функции f(x) увеличивает ее аргумент на величину h:
Дата публикования: 2015-04-07; Прочитано: 339 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!