Интерполирование функций

1) Необходимость: приблизить f(x) более простой функцией ф(х), совпадающей в узлах xi с f(xi), если f(x) определена только в узловых точках (результат эксперимента) или очень сложно вычисляется.

Условия Лагранжа: ф(х, с0, с1…сn) = fi,

0 < _i < n, где сi - свободные параметры, определяемые из данной системы уравнений.

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

приближения).

2) Пусть ф (х) = с0 + с1х + с2х2 +…+ сnxn (канонический вид полинома);сетка узлов может быть неравномерной.

Коэффициенты сi определяются из условий Лагранжа:

Получившаяся СЛАУ относительно свободных

параметров сi имеет решение, если среди узлов

хi нет совпадающих.Ее определитель – определитель Вандермонда:

Общая блок-схема:

3) Пусть задано n+1 значение функции f(x) в узлах xj

ф(х) = Pn(х) = i (x-xj)/(xi-xj) - полином Лагранжа.

Преимущества: потребуется решать СЛАУ для определения значения полинома в точке х.

Недостатки: для каждого х полином требуется читать заново.

Погрешность формулы: (*)

Увеличение числа узлов и, соответственно, степени полинома Pn(x) ведет к увеличению погрешности из-за роста производных .

4) ф(х) = Pn(x) = A0+A1(x-x0)+A2(x-x0)(x-x1)+…+An(x-x0)(x-x1)…(x-xn-1) - многочлен Ньютона для n+1 узла.

Коэффициенты Ф представляют собой разделенные разности и записываются в виде:

А0 = f0

A1 = (f0-f1)/(x0-x1) = f01

A2 = (f01-f02)/(x1-x2) = f012, где f02 = (f0-f2)/(x0-x2)

A3 = (f012-f013)/(x2-x3) = f0123, где f013 = (f01-f03)/(x1-x3), а f03 = (f0-f3)/(x0-x3)

и в общем случае Ak = (f01…k-1-f01…k)/(xk-1-xk)

Т.е. многочлен n-й степени выражается при помощи разделенных разностей через свои значения в узлах.

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

После определения коэффициентов полинома Ньютона вычисление его значений при конкретных аргументах х наиболее экономично проводить по схеме Горнера:

P2(x) = A0+ (x-x0)(A1+(x-x2)(A3+…)…)

Погрешность определяется тем же соотношением (*)

Входящая в состав погрешности величина

(х-хi) = wn(x) ведет себя при постоянном шаге так, как показано на рисунке. Многочлен Ньютона имеет погрешность 0(hn+1) и обеспечивает n+1-й порядок точности интерполяции.

! Между разделенными разностями и производными соответствующих порядков существует соотношение f <n>(x) ~ n! F01…n, где n – степень производной. Это используется в численном дифференцировании и при оценке погрешностей интерполяции.

! Можно строить полиномы, не только проходящие через заданные точки, но и имеющие в них заданные касательные (интерполяционный многочлен Эрмита) или заданную кривизну. Количество всех полагаемых условий должно быть n-1, если n – степень полинома.

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

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

Система N линейных уравнений для коэффициентов сi:

для ,

где hi = xi-xi-1

После определения коэффициентов ci, 2N коэффициентов bi и di вычисляются по формулам:

,

И N уравнений для ,

Сплайновая интерполяция хороша тем, что требует знания в узлах только значений функции, но не ее производных.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: