Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вычислительная математика. Лекции

.pdf
Скачиваний:
35
Добавлен:
16.04.2015
Размер:
599.14 Кб
Скачать

Если известна А-ортогональная система, то решения СЛАУ Ax =

 

b легко построить: так как любой

 

 

n

 

 

n

 

 

 

n

вектор x, в частности вектор x =

ksk, то b = kAsk и ( b; si) = ( kAsk; si) = i(Asi; si):

Тогда

 

=1

 

 

k=1

 

 

 

 

 

=1

 

kP

 

 

P

n

 

 

 

 

kP

 

 

= =

 

(b; si)

; x =

(b; si)

s

:

 

 

 

 

 

 

i

i

Asi; si

Asi; si

i

 

 

 

 

 

 

 

=1

 

 

 

 

 

 

 

 

 

 

 

Xi

 

 

 

 

 

А-ортогональную систему можно получить исходя из любой линейно независимой системы векторов fe1; e2; :::; eng:

Векторы sk строим последовательно: s1 e1;

 

 

 

 

 

 

 

k 1

 

 

s2 = e2

+ 21s1

; ::: sk

= ek + j=1 kjsj; (k = 1; :::; n):

Коэффициенты kj находим из условий:

 

k 1

 

 

 

 

 

P

 

 

(Ask; si) = 0 при i = 1; 2; :::; (k 1); (Aek; si) +

 

 

 

 

 

 

 

 

 

=1 kj(Asj; si) = (Aek; si)+

 

 

+ ki(Asi; si) = 0 и ki =

(Aek;si)

 

 

jP

 

 

 

k 1 (Aek;sj)

 

 

 

 

; i = 1; 2; :::; k 1: sk = ek =1

 

sj:

 

 

Asi;si

Asj;sj

 

 

2. Метод сопряженных направлений.

 

 

 

 

 

jP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть задана А-ортогональная система векторов

f

s

; s ; :::; s

: Для минимизации значений функции

1

 

 

 

 

 

 

 

 

1

2

ng

 

 

 

 

 

f(x) = 2 (Ax; x) + (b; x) рассмотрим итерационный процесс:

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 = s1;

 

 

 

 

 

 

где вычисляется из условия min f( s1); т.е. из условия

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

1

 

 

 

 

 

 

 

 

 

 

 

 

(b; s )

 

 

 

 

2(As1; s1) + (b; s1) = (As1; s1) + (b; s1) = 0; = 1 =

1

 

 

d

2

(As1; s1)

x строится в виде x

 

= x

k 1

+ s : Из условия min f(x ) получаем

k

k

 

k

 

k

 

 

 

 

 

 

 

 

 

= k =

(sk; Axk 1 + b)

=

(sk; b)

 

 

 

 

 

(Ask; sk)

 

(Ask; sk)

Для k = n получаем

 

 

 

xn = xn 1 nsn = xn 2 n 1sn 1 nsn

 

 

 

 

 

 

 

 

 

 

 

n

(b; sk)

 

 

 

= 1s1 2s2 ::: nsn =

 

 

 

 

 

 

 

sk

 

 

 

 

(Ask; sk)

 

 

 

 

 

 

 

k=1

 

 

 

 

 

 

 

 

 

 

X

 

 

 

=

= x

Следовательно вектор x получается за конечное число итераций, определяемое числом скалярных произведений (b; sk), отличных от нуля. Метод сопряженных направлений, как и метод сопряженных градиентов следует отнести к числу точных методов решения СЛАУ Ax = b:

Замечание. В методе сопряженных градиентов векторы p1; p2; ::: отличные от нуля образуют А-ортогональную систему.

4.6Стационарный многошаговый градиентный метод.

Вградиентном методе векторы fxkg строятся в виде xk+1 = xk krk

(0 < k < 2n )

Тогда

xk+2 = xk krk k+1rk+1 = xk rk k k+1(rk kArk) =

= xk ( k + k+1)rk + k k+1Ark = xk + Ck1rk + Ck2Ark;

xk+3 = xk + Ck1rk + Ck2Ark + Ck3A2rk; :::;

N

X

xk+N = xk + CkiAi 1rk: i=1

28

N

 

Xi

 

xk+N x = xk x + CkiAi 1(Axk Ax ) =

=1

 

N

N

Xi

X

= xk x + CkiAi(xk x ) = (E +

CkiAi)(xk x )

=1

i=1

и

N

X

k xk+N x k2k E + CkiAi kk xk x k :

i=1

NN

Собственные числа операторного полинома E+ P CiAi равны 1+ P Ci ij, где 1; 2; :::; n- собственные

числа матрицы А.

 

i=1

 

i=1

 

 

 

 

 

 

N

 

N

 

 

N

N

X

 

X

 

 

X

Xi

k E + CiAi k= maxfj1 +

Ci 1i j; j1 +

Ci 2i j; :::; j1 + Ci ni jg:

i=1

 

i=1

 

 

i=1

=1

В рассматриваемом методе используется оценка

 

 

 

N

 

 

2

 

 

N

X

i

 

 

 

Xi

k E + CiA

 

k [ 1

;:::; n] j1 + Ci 1j;

 

 

 

 

max

 

i=1

 

 

 

 

 

=1

и мы приходим к задаче:

среди полиномов QN ( ) = 1 + C1 + C2 2 + ::: + CN N найти полином, такой что

 

max

Q

N

( )

j

=

min :

2

[ 1; n] j

 

 

 

C1;:::;Cn

 

 

 

 

 

 

 

 

Такой полином существует и единственен, и мы его построим в следующем параграфе.

4.7Полиномы Чебышева.

Рассмотрим функции 'n(x) = cos(n arccos x); заданные на отрезке [ 1; 1] n = 0; 1; 2; : : :. Ясно, что j'n(x)j 1: При n = 0 '0(x) = 1, при n = 1 '1(x) = x:

Обозначим arccos .

'n+1(x) = cos(n + ) = cos n cos sin n sin ;

'n 1(x) = cos n cos + sin n sin

и

'n+1(x) + 'n 1(x) = 2 cos n cos = 2x'n(x):

Мы получаем реккурентные формулы для вычисления значений функций 'n(x) :

'n+1(x) = 2x'n(x) 'n 1(x):

'2(x) = 2x x 1 = 2x2 1 - четная функция,

'3(x) = 2x(2x2 1) x = 4x3 3x - нечетная функция и т.д.

Таким образом, значения функций 'n(x) могут быть продолжены и для jxj > 1: Тогда 'n(x)- полином степени n с коэффициентом при xn, равным 2n 1: 'n(x) = 2n 1xn + : : : :

Определение. Полиномы Tn(x) = 2n1 1 'n(x) называются полиномами Чебышева. Ясно, что Tn(x) = 1 xn + an 1xn 1 + ::: + a0, и при x 2 [ 1; 1] значения jTn(x)j 2n1 1 :

Нули полинома Чебышева.

Для jxj 1 получаем cos(n arccos x) = 0, n arccos x = 2k2+1 ;

arccos x = 2k2+1 2 , x0k = cos 2kn+1 2 , k = 0; 1; 2; :::(n 1):

На отрезке [ 1; 1] получаем n различных нулей полинома Чебышева. В точке x = 1 значение Tn(1) = 2n1 1 , а Tn( 1) = ( 1)n 1 2n1 1 : Вне отрезка [ 1; 1] нулей полинома Tn(x) нет.

29

Стационарные точки полинома Чебышева.

 

 

 

 

 

x

 

 

 

(

 

1; 1) T 0 (x) =

 

1

 

 

sin(n arccos x)

 

 

n

 

 

T 0

(1)

=

 

 

n2

 

 

 

 

T 0

(

 

 

 

1) = (

 

1)n 1

 

 

n2

 

 

 

 

 

 

 

 

 

 

 

 

n

 

1

 

 

 

 

 

 

 

 

 

n

1

 

 

 

 

 

 

 

 

 

n

 

1

 

 

Для

2

 

 

2

 

 

p1

 

x2 ;

2

,

 

 

 

 

и мы по-

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лучаем (n 1) стационарных точек xk

 

= cos

k

, k

= 1; 2; :::(n 1);

принадлежащих интервалу ( 1; 1).

 

n

При

j

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

располагаются между ну-

 

x

 

> 1

функции Tn(x) монотонные функции. Стационарные точки xk

лями

 

полинома T

n

(x): Значения

j

T

n

(x)

j

в точках

 

 

1; x

; :::; x

; 1 равны

 

 

 

 

 

, а при

j

x

j

> 1 значения

 

 

 

 

n

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

jTn(x)j

>

 

 

: Значения Tn(x) в этих точках последовательно меняют свой знак. В этом случае говорят,

2n 1

что точки

1; x

 

; :::; x ; 1

- точки чебышевского альтернанса функции

T

n

(x):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основное свойство полиномов Чебышева на отрезке [ 1; 1].

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пусть Qn(x)- любой полином степени n вида Qn(x) = 1 xn + cn 1xn 1 + ::: + c0:

 

 

 

 

 

 

 

 

 

 

 

 

Теорема. Для любого полинома Qn(x), отличного от Tn(x) при jxj 1; верно неравенство

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

max jQn(x)j > max jTn(x)j для x 2 [ 1; 1]:

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доказательство.

Предположим, что max jQn(x)j max jTn(x)j =

2n 1

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Образуем полином Rn 1(x) = Tn(x) Qn(x) степени (n 1):

 

 

 

 

 

 

 

 

(x )

 

 

k = 1; 2; :::(n

 

 

 

1):

 

 

 

Рассмотрим сначала случай, когда в точках

x

 

значения

Q

(x ) = T

 

,

 

 

На отрезке

 

k

 

n

k

6

 

 

 

n

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

[x1; 1] полином Rn 1 имеет не менее одного нуля, на отрезке [x2; x1] полином Rn 1 имеет не менее одного

нуля и на каждом отрезке [xk; xk 1], k = 2; 3; :::; (n 1); а также на отрезке [ 1; xn 1] полином имеет не менее одного нуля. Тогда на всем отрезке [ 1; 1] полином Rn 1(x) имеет не менее n нулей, что возможно

только если Rn 1(x) 0 на (1; 1).

Если же в некоторой точке xkTn(xk) = Qn(xk), то в этой точке Q0n(xk) = Tn0 (xk) и xk есть ноль, порядок которого не меньше двух. С учетом кратности полином Rn 1 имеет на отрезке [ 1; 1] не менее n нулей и

поэтому Tn(x) = Qn(x):

Полином Чебышева - полином наименее отклоняющийся от нуля на отрезке [ 1; 1] среди всех полиномов вида xn + cn 1xn 1 + ::: + c0:

Построим полином n( ) степени n наименее отклоняющийся от нуля на отрезке [a; b] среди всех полиномов вида 1 + c1 + c2 2 + ::: + cn n; предполагая что a > 0: Линейное преобразование

x =

2

 

 

b + a

; ( =

b + a

+

b a

x);

 

 

 

 

 

 

b a

b a

 

 

 

 

2

2

 

отображает отрезок a b на отрезок [ 1; 1]: Полином наименее отклоняющийся от нуля на отрезке

[a; b] равен

 

 

 

 

 

 

2

 

 

 

 

b + a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tn(

 

 

 

 

 

 

 

 

):

 

 

 

 

 

 

 

 

 

 

 

b a

b a

 

 

При = 0 его значение равно Tn(

b+a

). Требуемый полином n( ) равен

 

b a

 

 

 

 

 

 

 

 

1

2

 

 

b + a

 

 

 

 

n( ) =

 

 

 

 

 

Tn(

 

 

 

 

 

):

 

 

 

Tn(

b+a

)

b a

b a

 

 

 

 

 

 

 

 

 

 

b a

 

 

Нули этого полинома

 

b + a

 

 

b a

 

 

 

2k + 1

 

 

 

 

 

 

 

 

 

0

=

+

(cos

 

);

k = 0; 1; :::(n

 

1):

 

 

 

 

k

2

 

 

 

2

 

 

 

 

 

 

n 2

 

 

 

 

Заметим, что bb+aa < 1 и значение Tn( bb+aa ) следует вычислять, исходя из полиномиального представления полинома Чебышева.

4.8Многошаговый стационарный градиентный метод

(продолжение).

Поставленная в конце x6 задача имеет единственное решение:

N ( ) =

 

1

TN (

 

2

 

 

 

n +

1

):

 

n+ 1

 

n

 

1

 

n

 

1

TN (

n 1 )

 

 

 

 

 

 

 

При реализации метода достаточно знать только нули 0k этого полинома:

k

 

2

2

 

 

N 2

 

 

 

0

=

n + 1

+

n 1

cos

 

2k + 1

; k = 0; 1; 2; :::; (N

 

1):

 

 

 

 

 

30

Обозначим

1

k = k ; N ( ) = (1 0)(1 1) : : : (1 N 1)

и

N (A) = (E 0A)(E 1A) : : : (E N 1A):

Построим последовательность векторов xk+i :

xk+1 = xk 0rk и xk+1 x = xk x 0A(xk x ) = (E 0A)(xk x ); xk+2 = xk+1 1rk+1 и xk+2 x = (E 1A)(E 0A)(xk x )

: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

xk+N = xk+N 1 N 1rk+N 1 и xk+N x = (E N 1A)(E N 2A) : : : (E 1A)(E 0A)(xk x ) =N (A)(xk x ):

Ясно, что порядок перечисления шагов при построении xk+N безразличен. Для k N (A) k2 верна оценка

pp !N

 

 

 

(A)

 

< 2

 

n

 

1

= 2qN

k

 

N

 

k2

 

p

n

+ p 1

 

и k xN+k x k2< 2qN k xk x k2 : Сравнивая эту оценку с оценкой для градиентного метода с опти-

мальным шагом = 0 :

 

 

 

 

p

 

 

p

 

 

 

 

 

x

 

x

 

( n 1 )N

 

x

 

x

n 1

< n 1 :

k

 

N+k

 

k2

n+ 1

k

 

k

 

k, видим, что p

 

+p

 

1

n+ 1

 

 

 

 

n

 

Найдя xN+k повторяет цикл, возможно с другим набором шагов , изменяя степень полинома Чебышева.

Заключение. Кроме методов решения СЛАУ и минимизации значений квадратичной функции существуют и другие методы (метод вращений, метод покоординатного спуска и др.) Для минимизации значений произвольных (дифференцируемых) функций многих переменных применяется метод последовательной линеаризации в окрестности точек xk с последующей минимизацией значений получаемых квадратичных функций.

31

Глава 5

ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ.

ВВЕДЕНИЕ. Общая постановка задачи.

Рассматривается линейное метрическое пространство F . В этом пространстве выбрано (n+1) линейно независимых ("базисных") элементов '0; '1; :::; 'n и задано (m+1) функционалов J0; J1; :::; Jm.

Задача. Для любого элемента f 2 F требуется построить линейную комбинацию f~ элементов 'n

n

f~ = XCk'k;

k=0

такую что Ji(f) = Ji(f~); i = 0; 1; :::; m.

В общем случае элементы f и f~ не совпадают. Но мы не можем их различить, зная только (m+1) значений функционалов J0; J1; :::; Jm на этих элементах. Как правило построение элемента f~ не является конечной целью исследований. Простая структура элемента f~ обеспечивает простоту выполнения дальнейших операций. Поэтому для оценки точных результатов необходимо уметь оценивать близость элементов f и f~, т.е. оценивать расстояние (f; f~) в метрике пространства F .

Поставленная задача является классической задачей вычислительной математики, она изучалась многими учеными, начиная с И.Ньютона (1711г.) и Ж.Лагранжа (1806г.). Существует множество учебников и учебных пособий по этой тематике, среди них отметим:

-Н.Бахвалов, Н.Жидков, Г.Кобельков. Численные методы. 2003г. -В.Вержбицкий. Основы численных методов. 2002г.

В этих учебниках приведена обширная библиография.

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

5.1Интерполирование функций алгебраическими полиномами.

В качестве пространства F задается пространство [a; b] функций заданных и непрерывных на отрезке

[a; b]:

(f; y) = max jf(x) f(y)j

x2[a;b]

"Базисными"элементами выбраны функции

'k(x) = xk; k = 0; 1; :::; n; x [a; b]

На отрезке [a,b] заданы различные точки xi (узлы), а в качестве функционалов Ji(f) рассматриваются функционалы

Ji(f) = f(xi); i = 0; 1; :::; n; (n = m)

Линейные комбинации "базисных"элементов-полиномы степени n, рассматриваемые на [a,b].

Задача. Для заданной непрерывной на [a,b] функции f(x) построить полином f~n(x) степени n такой что

n

X

f~n(x) = Ck(f)xki = f(xi)

k=0

32

!n+1(x)
(xi) x xi
!n0 +1
1
li(x) =

во всех узлах xi

Решение этой задачи легко получить: достаточно решить систему линейных алгебраических уравнений относительно неизвестных значений C0; C1; :::; Cn:

n

X

Ck(f)xki = fi; i = 0; 1; :::; n; fi = f(xi):

k=0

Матрица этой системы

0

1

x0

x02

:::

x0n

1

 

1

x1

x12

:::

x1n

;

B:

1: : :x: :

:x:2: ::::: : :x:n:C

 

B

 

n

n

 

nC

 

@

 

 

 

 

 

A

 

и её определитель - определитель Вандермонда-отличен от нуля. По формулам Крамера

 

 

 

n

Ck = Ck(f) =

k(f)

=

fi

Aik

;

 

 

 

 

Xi

 

=0

 

 

 

 

 

 

где Aik-алгебраические дополнения элементов k-того столбца определителя . Тогда

n

Обозначив li(x) = 1 P

k=0

n

n

1

n

X

X

 

 

X

f~n(x) =

Ck(f)xk =

f(xi)

 

Aikxk

k=0

i=0

 

 

i=0

Aikxk, получаем единственное решение поставленной задачи:

n

X

f~n(x) = f(xi)li(x):

i=0

Полиномы n-ой степени li(x) зависят только от выбора узлов x0; :::; xn. Полином f~n(x) называется интерполяционным полиномом для функции f(x) с узлами x0; :::; xn

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

Значение полиномов li содержит вычисление определителей порядка (n + 1). Так как эти определители

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

n

полиномы li без непосредственного вычисления определителей. Равенства f(xj) = f~n(xj) = P f(xi)li(xj)

i=0

будут выполнены, если потребовать, чтобы

li(xj) =

0; если

j 6= i

 

1; если

j = i

Единственным полиномом степени n, обладающим этим свойством, является полином

(x x0)(x x1):::(x xi 1)(x xi+1):::(x xn) (xi x0)(xi x1):::(xi xi 1)(xi xi+1):::(xi xn)

Компактную запись полинома li(x) можно получить, если ввести обозначение !n+1(x) = (xi x0)(xi

x1):::(x(i) xi 1)(xi xi+1):::(xi xn). Ясно, что производная функции !n+1 в точке x = xi равна !n0 +1(xi) = (xi x0)(xi x1):::(x(i) xi 1)(xi xi+1):::(xi xn), и тогда li(x) = !n+1(x) Полученная таким образом

форма интерполяционного полинома обозначается Ln(f; x):

n

X

f~n(x) = Ln(f; x) = i=0 f(xi)(x xi)!n0 +1(x)

33

и называется интерполяционным полиномом в форме Лагранжа. Отметим три свойства интерполяционных полиномов, не зависящих от конкретной формы интерполяционного полинома:

1. Интерполяционный полином не зависит от порядка перечисления узлов.

N

 

 

 

N

 

 

 

 

 

 

 

 

 

jP

jyj(x) Тогда Ln(f; x) =

2. Пусть функция f(x) есть линейная комбинация функций yk

: f(x) =

jP

 

 

 

=1

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

jLn(yj; x)

 

 

 

 

 

 

 

 

 

 

=1

 

 

 

iP

 

 

 

 

 

 

3. Коэффициент a

 

при xn интерполяционного полинома равен a =

 

 

1

 

 

: Действительно,

n

f(x

)

 

 

 

!0

(xi)

 

 

n

i

 

 

 

 

 

 

=0

 

 

n+1

 

 

 

 

 

 

 

 

 

 

 

 

 

достаточно заметить, что коэффициенты полиномов li(x) при xn равны 1. Особенностью представления интерполяционного полинома в форме Лагранжа является возможность быстрого построения интерполяционного полинома для любой функции f F при фиксированном наборе узлов, если полиномы li(x) уже найдены. Однако при добавлении нового узла придется заново строить полиномы li(x).

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

 

5.3

 

Разделенные разности.

 

 

 

 

 

 

 

Пусть задана система узлов x0; x1; :::; xn, xi [a; b] Отношения

f(xi+1) f(xi)

называются разделенными

 

xi+1 xi

разностями первого порядка. Они обозначаются

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(xi; xi+1) =

f(xi+1) f(xi)

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi+1 xi

 

 

 

 

 

 

 

 

 

 

 

Далее вводятся разделенные разности второго порядка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(xi; xi+1; xi+2) =

f(xi+1; xi+2) f(xi; xi+1)

 

 

 

 

 

 

 

 

И разделенные разности k-го порядка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi+2 xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(xi; xi+1; :::; xi+k 1; xi+k) =

f(xi+1; xi+2; :::; xik 1; xk) f(xi; xi+1; :::; xi+k 1)

 

 

 

В частности разделенная разность порядка k:

 

 

 

 

 

 

 

 

 

 

 

 

 

xi+k xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x0; x1; :::; xk 1; xk) =

f(x1; :::; xk 1; xk) f(x0; x1; :::; xk 1)

:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xk x0

 

 

 

 

 

 

 

При k=1:

f(x0; x1) =

f(x1) f(x0)

=

f(x0)

+

 

f(x1)

; a f(x1

; x0) =

f(x0) f(x1)

=

f(x0)

+

f(x1)

=

x0 x1

 

 

 

 

 

x0 x1

 

f(x0; x1):

 

 

 

x1 x0

 

 

 

 

 

 

x1 x0

 

 

 

 

 

x0 x1

 

x1 x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При k=2:

f(x0; x1; x2) =

f(x1;x2) f(x0;x1)

=

 

 

1

 

 

[

 

f(x1)

+

 

 

 

 

 

 

 

 

 

 

 

x2;x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 x0

 

 

 

 

x1 x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x2)

f(x0)

 

 

 

f(x1)

 

 

f(x0)

 

 

 

 

 

 

 

 

+

 

 

 

 

 

 

 

 

 

] =

 

 

+

 

 

 

 

 

 

 

x2 x1

x0 x1

x1 x0

(x0 x1)(x0 x2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x1)

 

 

 

 

 

 

 

 

 

 

 

 

 

f(x2)

 

 

 

 

 

 

 

 

 

 

 

+

 

+

 

;

 

 

 

 

 

 

 

 

 

 

 

(x1 x0)(x1 x2)

(x2 x0)(x2 x1)

 

 

 

 

 

 

 

и эта величина не зависит от порядка перечисления узлов. Проведя элементарные выкладки, легко показать (по индукции), что разделенные разности k-го порядка равны

k

X f(xi) f(x0; x1; :::; xk) = i=0 !k0 +1(xi)

и их значения не зависят от порядка перечисления узлов в наборе x0; x1:::; xk: Согласно свойству 3) коэффициент ak при xk в интерполяционном полиноме f~k(x) равен

ak = f(x0; x1; :::; xk):

34

5.4Интерполяционный полином в форме Ньютона.

Пусть f~k(x)-интерполяционный полином для функции f(x), построенный по узлам x0; x1; :::; xk 1. Тогда разность f~k(x) f~k 1(x)-полином степени k, обращающийся в ноль в точках x0; x1; :::; xk 1. Ясно, что

f~k(x) f~k 1(x) = a(x x0)(x x1):::(x xk 1) = a!k(x);

где a равен коэффициенту полинома f~k(x) при xk:

a = ak = f(x0; x1; :::; xk):

Интерполяционнай полином для функции f(x), построенный по одному узлу x0 равен

f~0(x) = f(x0)

Поэтому естественно определить разделенную разность нулевого порядка как f(x0), а значение !0(x) 1. Ясно что

f~n(x) = f~0(x) + [f~1(x) f~0(x)] + [f~2(x) f~1(x)] + :::+

 

n

+[f~n(x) f~n 1(x)] =

X

f(x0; x1; :::; xk)!k(x):

 

k=0

Такая форма представления интерполяционного полинома f~n(x) обозначается Nn(f; x) и говорят, что интерполяционный полином представлен в форме Ньютона:

n

X

f~n(x) = Ln(f; x) = Nn(f; x) = f(x0; x1; :::; xk)!k(x):

k=0

При введении нового узла xn+1

Nn+1(f; x) = Nn(f; x) + f(x0; x1; :::; xn; xn+1)!n+1(x):

Для вычисления дополнительного слагаемого приходится последовательно вычислять разделенные разности

f(xn; xn+1); f(xn 1; xn; xn+1); :::; f(x1; x2; :::; xn; xn+1); f(x0; x1; :::; xn; xn+1):

5.5Оценка методической погрешности.

Обозначим rn(f; x) = f(x) f~n(x) и оценим

max jrn(f; x)j = kf f~nkC[a;b]

x2[a;b]

для заданной функции f(x) и для фиксированного набора узлов x0; x1; :::; xn. Для краткости будем обозначать rn(x) = rn(f; x). Ясно, что без дополнительных ограничений на функцию f(x) невозможно получить оценку величины rn(x). Будем предполагать, что функция f(x) имеет на [a,b] непрерывную производную

порядка (n+1) и известна оценка:

jfn+1(x)j Mn+1:

Пусть x -произвольная точка отрезка [a,b]. Оценим rn(x ). Ясно, что если x совпадает с одним из узлов xi, то rn(x ) = 0. Поэтому будем рассматривать точку x не совпадающую ни с одним из узлов. Построим вспомогательную функцию (x):

(x) = rn(x) !n+1(x) rn(x )

!n+1(x )

Эта функция имеет непрерывные производные до порядка (n+1) включительно. В точках x0; x1; :::; xn и в точке x функция (x) обращается в ноль. Таким образом, эта функция имеет на [a,b] не меньше (n+2)

35

нулей. Тогда производная 0(x) имеет не менее (n+1) нулей и n+1(x) имеет на [a,b] по крайней мере один ноль. Следовательно существует точка [a; b], в которой n+1( ) = 0. Так как

 

 

 

 

 

n+1(x) = fn+1(x)

 

rn(x )

 

 

 

 

 

 

 

 

(n + 1)!

;

 

 

 

 

 

 

!n+1(x )

 

 

n+1

 

 

 

 

rn(x )

 

 

 

 

то в точке значение f

 

 

( ) =

 

 

 

 

(n + 1)!. Таким образом для любого значения x [a; b] существует

 

 

!n+1(x )

точка (зависящая от x), такая что

 

 

 

 

rn(x) =

 

1

 

 

!n+1(x)f(n+1)( );

::::::::::::::::::::::::::::::::::::::::::

(1)

 

 

 

 

 

 

 

 

 

 

 

 

(n + 1)!

 

 

 

 

и мы получаем оценку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

jrn(x)j

1

 

 

 

Mn+1maxj!n+1(x)j

:::::::::::::::::::::::::::::::::::::::

(2)

 

 

 

(n + 1)!

Эту оценку нельзя улучшить:взяв функцию f(x):

f(x) =

1

Mn+1xn+1

+ axn + ::: + a1x + a0;

 

 

(n + 1)!

 

для которой f(n+1)(x) = Mn+1, мы получим

1

jrn(f; x)j = (n + 1)!Mn+1j!n+1(x)j:

5.6Выбор узлов интерполирования.

Рассмотрим постановку задачи интерполирования, в которой узлы x0; x1; : : : ; xn не фиксированы и их можно выбирать для улучшения оценки методической погрешности. Исходя из оценки (2) будем выбирать узлы xi из условия

min ( max j!n+1(x)j):

fx0;x1;:::;xng x2[a;b]

Так как !n+1(x) - полином степени (n+1) и !n+1(x) = (x x0)(x x1):::(x xn) = 1 xn+1+anxn+:::+a1x+a0, то оптимальный полином - полином, наименее отклоняющийся от нуля на отрезке [a; b]. Если [a; b] = [ 1; 1], то !n+1(x)-полином Чебышева Tn+1(x), нулями которого являются числа xi, равные

2i + 1

xi = cos 2n + 1 ; i = 0; 1; :::; n:

Для построения полинома !n+1(x) выберем узлы xi - нули полинома наименее отклоняющегося от нуля на отрезке [a; b]:

2i + 1

xi = cos 2n + 2 ; i = 0; 1; :::; n:

Согласно оценке значений полинома, наименее отклоняющегося от нуля, получаем

 

j

!

n+1

(x)

j

(b a)n+1

 

 

 

 

 

 

22n+1

 

 

 

 

 

 

 

 

 

 

и затем оценку

 

 

 

 

 

 

 

 

(b a)n+1

 

 

 

r

(f; x)

j

Mn+1

 

(

)

1

:

 

 

 

 

2n

j n

 

 

(n + 1)!

2

 

 

36

5.7Разделенные разности и производные функции.

Кнабору узлов x0; x1; :::; xn добавим еще один узел x 2 [a; b]. Тогда

Nn+1(f; x) = Nn(f; x) + f(x0; x1; :::; xn; x )!n+1(x)

и в точке x = x

Nn+1(f; x ) = f(x ) = Nn(f; x ) + f(x0; x1; :::; xn; x )!n+1(x ):

Так как x - произвольная точка отличная от xi, то получаем тождество

rn(f; x) = f(x0; x1; :::; xn; x)!n+1(x);

верное и для всех значений x 2 [a; b]. Согласно равенству (1)

 

 

 

 

1

 

 

( )

 

 

 

 

 

 

rn(f; x) =

 

 

f(n+1)!n+1

(x) = f(x0; x1; :::; xn; x)!n+1(x)

 

 

 

 

(n + 1)!

 

и

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

f(x0; x1; :::; xn; x) =

f(n+1)( ):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(n + 1)!

 

В частности

 

 

 

 

 

1

 

 

 

 

 

f(x

 

; x ; :::; x

 

; x ) =

f(n)( );

 

::::::::::::::::::::::::::::::::::::::::::::

(3)

 

n 1

 

 

 

0

1

 

n

n!

 

 

 

 

где 2 [a; b]:

5.8Численное дифференцирование. Методическая погрешность

численного дифференцирования.

Построив интерполяционный полином, легко находить приближенные значения интегралов и производных исходной функции f(x). В этом параграфе мы оценим точность приближения производных f(m)(x) при замене функции f(x) интерполяционным полиномом в предположении, что функция f имеет [a; b] непрерывные производные до порядка n + m + 1 включительно. При этом мы будем представлять интерполяционный полином в форме Ньютона. Ясно что m должно быть не больше n : m n.

 

m

m

rn;m(f; x) =

d

(rn(f; x)) =

d

rn(x):

m

m

 

dx

dx

Представим rn(x) в виде rn(x) = f(x0; x1; :::; xn; x)!n+1(x). Ясно что f(x0; x1; :::; xn; x) имеет столько же непрерывных производных сколько и функция f(x).

m

dk

d(m k)

X

rn;m(f; x) = Ck dx f(x0; :::; xn; x)dx(m k) !n+1(x):

m k

k=0

Мы получим оценку rn;m(f; x), если сумеем оценить производные разделенных разностей

dk

dxk f(x0; :::; xn; x):

Для этого рассмотрим произвольную функцию g(x) 2 Ck[a; b] и её разделенную разность g(x; x + h; x + 2h; :::; x + kh) порядка k. Согласно (3) её можно представить в виде

g(x; x + h; x + 2h; :::; x + kh) = k1!g(k)(x);

где лежит между точками x и x + kh. Тогда при h ! 0

 

 

lim g(x; x + h; :::; x + kh) =

1

g(k)( )

 

h!0

k!

37