Смекни!
smekni.com

Вычислительная математика (стр. 11 из 20)

Rn(x)=

, a £ x £ x.

Многочлен Тейлора (4.1) обладает свойством, что в точке x = a все его производные до порядка n включительно совпадают с соответствующими производными функции f, т. е.

T

(a)= f(k)(a), k = 0, 1, …, n.

В этом легко убедиться, дифференцируя Tn(x). Благодаря этому свойству многочлен Тейлора хорошо приближает функцию f в окрестности точки a. Погрешность приближения составляет

|f(x) – Tn(x)| = |Rn(x)|,


т. е. задавая некоторую точность e > 0, можно определить окрестность точки a и значение n из условия:

|Rn(x)| =
<
e. (4.2)

Пример 4.1.

Найдем приближение функции y = sinx многочленом Тейлора в окрестности точки a = 0. Воспользуемся известным выражением для k-ой производной функции sinx:

(sinx)(k) = sin x + k
(4.3)

Применяя последовательно формулу (4.3), получим:

f(0) = sin0 = 0;

f '(0) = cos(0) = 1;

f"(0) = –sin0 = 0;

f(2k-1)(0) = sin (2k – 1)

= (–1)k – 1 ;

f(2k)(0) = 0;

f(2k+1)(x) = (–1)kcosx

.

Следовательно, многочлен Тейлора для функции y = sinx для n = 2k имеет вид:

sinx = x –

+ … + (1)k – 1
+ R2k(x),

R2k(x) = (1)k

.

Зададим e = 10 –4 и отрезок [

,
]. Определим n =2k из неравенства:

|R2k(x)| =

<
<
< e = 10-4.

Таким образом, на отрезке
,
функция y = sinx с точностью до e = 10-4 равна многочлену 5-ой степени:

sinx = x –

+
= x – 0.1667x3 + 0.0083x5.

Пример 4.2.

Найдем приближение функции y = ex многочленом Тейлора на отрезке [0, 1] с точностью e = 10 –5.

Выберем a = ½, т. е в середине отрезка. При этом величина погрешности в левой части (4.2) принимает минимальное значение. Из математического анализа известно, что для k-ой производной от ex справедливо равенство:

(ex)(k) = ex.

Поэтому

(ea)(k) = ea = e1/2,

Следовательно, многочлен Тейлора для функции y = exимеет вид:

ex = e1/2 + e1/2(x – ½) +

(x – ½)2 + … +
(x – ½)n+ Rn(x),

При этом, учитывая, что xÎ [0, 1], получим оценку погрешности:

|Rn(x)| <

. (4.4)

Составим таблицу погрешностей, вычисленных по формуле (4.4):

n

2

3

4

5

6

Rn

0.057

0.0071

0.00071

0.000059

0.0000043

Таким образом, следует взять n = 6.

4.3 Интерполяция функции многочленами Лагранжа

Рассмотрим другой подход к приближению функции многочленами. Пусть функция y = f(x) определена на отрезке [a, b] и известны значения этой функции в некоторой системе узлов xi Î [a, b], i = 0, 1, … , n. Например, эти значения получены в эксперименте при наблюдении некоторой величины в определенных точках или в определенные моменты времени x0, x1, … , xn. Обозначим эти значения следующим образом: yi = f(xi), i = 0, 1, … , n. Требуется найти такой многочлен P(x) степени m,

P(x) = a0 + a1x + a2x2 + … + amxm, (4.5)

который бы в узлах xi, i = 0, 1, … , n принимал те же значения, что и исходная функция y = f(x), т. е.

P(xi) = yi, i = 0, 1, … , n. (4.6)

Многочлен (4.5), удовлетворяющий условию (4.6), называется интерполяционным многочленом.

Другими словами, ставится задача построения функции y = P(x), график которой проходит через заданные точки (xi, yi), i = 0, 1, … , n (рис. 4.1).

Рис. 4.1

Объединяя (4.5) и (4.6), получим:

a0 + a1xi + a2x

+ … + amx
= yi, i = 0, 1, … , n. (4.7)

В искомом многочлене P(x) неизвестными являются m +1 коэффициент a0 , a1, a2, …, am. Поэтому систему (4.7) можно рассматривать как систему из n +1 уравнений с m +1 неизвестными. Известно, что для существования единственного решения такой системы необходимо , чтобы выполнялось условие: m = n. Таким образом, систему (4.7) можно переписать в развернутом виде:

a0 + a1 x0 + a2x
+ … + anx
= y
0

a0 + a1 x1 + a2x

+ … + anx
= y
1

a0 + a1 x2 + a2x

+ … + anx
= y
2 (4.8)

.

a0 + a1 xn + a2x

+ … + anx
= yn


Вопрос о существовании и единственности интерполяционного многочлена решает следующая теорема:

Теорема 4.1. Существует единственный интерполяционный многочлен степени n, удовлетворяющий условиям (4.6).

Имеются различные формы записи интерполяционного многочлена. Широко распространенной формой записи является многочлен Лагранжа

Ln(x) =

=
. (4.9)

В частности, для линейной и квадратичной интерполяции по Лагранжу получим следующие интерполяционные многочлены:

L1(x) = y0

+ y1
,

L2(x) = y0

+ y1
+ y2
.

Пример 4.3.

Построим интерполяционный многочлен Лагранжа по следующим данным:

x

0

2

3

5

y

1

3

2

5

Степень многочлена Лагранжа для n +1 узла равна n. Для нашего примера многочлен Лагранжа имеет третью степень. В соответствии с (4.9)