Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по курсу.docx
Скачиваний:
107
Добавлен:
24.02.2016
Размер:
2.8 Mб
Скачать

и ее определитель (это определитель Вандермонда) отличен от нуля, если точки xi разные. Поэтому задача (20.2) имеет единственное решение, т.е. для заданной системы различных точек существует единственный интерпо­ляционный многочлен.

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

dnf (x)

(h/2)n, h = max | xi - xi-11. (20.5)

i

С

<

Из (20.5) следует, что при h—0 порядок погрешностиp при интерполя­ции алгебраическим многочленом равен количеству выбранных узлов p=n. Величина s может быть сделана малой как за счет увеличения n, так и умень­шения h. В практических расчетах используют, как правило, многочлены не­высокого порядка (n < 6), в связи с тем что с ростом n резко возрастает по­грешность вычисления самого многочлена из-за погрешностей округления.

20.3. Какие бывают многочлены и способы интерполяции?

Один и тот же многочлен можно записать по-разному, например,

2 2

1 - 2x + x = (x -1) . Поэтому в зависимости от решаемых задач применяют

различные виды представления интерполяционного многочлена и способы интерполяции.

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

{(xi, Уг) j = 1 ... n} .

20.3.1. Интерполяционный многочлен Ньютона

n-1

Nn-i(xt ) = y1 + X (xT - x1)(xT - x2)...(xT - xk)Ak (20.6)

k=1

Здесь xT - текущая точка, в которой надо вычислить значение много­члена, Ak - разделенные разности порядка k, которые вычисляются по сле­дующим рекуррентным формулам:

Ay(x,x,+1) = ;A2y(x,xl+1xl+2) = Ay(xixi+1]"A1 y(xi+1xi+22 .

xi xi+1 xi xi+2

20.3.2. Линейная и квадратичная интерполяция

Вычисления по интерполяционной формуле (20.6) для n>3 используют редко. Обычно при интерполяции по заданной таблице из m>3 точек приме­няют квадратичную n=3 или линейную n=2 интерполяцию. В этом случае для приближенного вычисления значения функции f в точке x находят в таблице

HI f (X) - Pn-\(X

С

(n - 1)n

dXn

ближайший к этой точке /-узел из общей таблицы, строят интерполяционный многочлен Ньютона первой или второй степени по формулам

ЩxT) = yM + (xT _ xi_l)y ^; xM < xT < xi;

(20.7)

Xi xi_1

;xi_1<xT<xi+1,

N2 (xt ) = Ni(xt ) +(xt _ xi_i)(xt _ xi)

I yi _1

_yi

f

_ yL

_ yi+1 I

_xi

J

V xi

_xi+1J

xi

_1_

~ xi +1

и за значение f(x) принимают N1(x) (линейная интерполяция) или N2(x) (квадратичная интерполяция)

20.3.3. Интерполяционный многочлен Лагранжа Ln_1(xt) = tykek(xt); ek(xt) = f[-xT_^ . (20.8)

i *k

Многочлены e1_1(xj) выбраны так, что во всех узлах, кроме k-го, они обращаются в нуль, в k-ом узле они равны единице:

„ ! Г1, при j = k

enk_1(xi) = \

\0, при j фk.

Поэтому из выражения (20.8) видно, что Ln_1( xt) = yt.

20.3.4. Интерполяция общего вида, использующая прямое решение сис­темы (20.2) методом Гаусса

Следует отметить, что ввиду громоздкости многочлены Ньютона и Ла­гранжа уступают по эффективности расчета многочлену общего вида (20.3), если предварительно найдены коэффициенты с .

Поэтому, когда требуется производить много вычислений многочлена, построенного по одной таблице, оказывается выгодно вначале один раз найти коэффициенты с и затем использовать формулу (20.3). Коэффициенты с на­ходят прямым решением системы (20.2) c матрицей (20.4), затем вычисляют его значения по экономно программируемой формуле (алгоритм Горнера)

^n_1 (x) = С1 + x(c2 + ... x(cn_2 + x(cn_1 + xcn) ...). (20.9)

20.3.5. Интерполяция общего вида, использующая расчет коэффициен­тов многочлена (20.3) через многочлен Лагранжа

Находить коэффициенты с многочлена (20.3) можно не решая прямо систему (20.2), а используя разложение коэффициентов Лагранжа (20.8): e"-\x) = a^1 + a& ■ x + ... + cfc1 ■ xn-1, ct = £Ук (20-10)

k=1

Рекуррентные формулы для нахождения коэффициентов akj-1:

оя = т-1 -xm . ат = ат-1 1 . (90 11)

xk-xm xk-xm

am-1 - am-1 _ x

am =^ J- ;1 < j <m; m = 2,..., n-1

xk- xm

получаются из вида многочленов ek. 1 (x), если использовать очевидное представление

em(x) = еГх Х -x"-m ; e0 = = 1; m = 1,2,..., n; m * k.

xk xn+m