Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
теория.pdf
Скачиваний:
329
Добавлен:
11.05.2015
Размер:
5.05 Mб
Скачать

ГЛАВА 4. ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ

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

Таким образом, задача численного дифференцирования состоит в при-

ближенном вычислении значения производной функции y = f (x) в некото-

рой точке x* по заданным в конечном числе точек (узлах сетки) значениям этой функции yi = f (xi) .

4.1. Применение интерполяционных многочленов для численного дифференцирования

При численном дифференцировании функцию y = f (x) аппроксимируют легко вычисляемой функцией ϕ(x) и приближённо полагают

y(m) ϕ(m)(x) . При этом можно использовать различные подходы. В ка-

честве аппроксимирующей функции обычно выбирают интерполяционный многочлен. Если узлы интеpполирования расположены неравномерно, то таким многочленом могут быть полиномы Лагранжа или Лежандра, а если равномерно, то лучше использовать полином Ньютона, так как он дает меньшую вычислительную погрешность по сравнению с другими. Сейчас мы рассмотрим простейший случай – аппроксимацию интерполяционным многочленом Ньютона, т.е.

f (m) (x) Nn(m) (x), 0 m n.

Вывод формул упрощается, если ввести вспомогательную переменную ξi = x xi . Запишем этот многочлен и продифференцируем его почленно:

107

Nn (x) = y(x0 ) +ξ0 y(x0, x1) +ξ0ξ1y(x0, x1, x2 ) +ξ0ξξ1 2 y(x0, x1, x2, x3) +...,

N(1)

(x) = y(x , x ) +(ξ +ξ )y(x , x , x ) +(ξ ξ +ξ ξ +ξξ )y(x , x , x , x ) +...,

n

0

1

 

0

1

0

1

2

0

1

 

0

2

1

2

0

1

2

3

N(2)

(x) =2y(x , x , x ) +2(ξ +ξ +ξ )y(x , x , x , x ) +...

 

 

 

 

 

n

0

1

2

 

0

1

 

2

0

1

2

 

3

 

 

 

 

 

 

Общая формула имеет, таким образом, вид:

 

, x1

 

k

 

y(x0 , x1 ,K, xk +1 )+

(4.1)

Nn(k ) (x) = k ! y(x0

,K, xk ) +

ξi

 

 

i=0

 

 

 

 

i=k +1

 

 

+

ξi ξ j y(x0

, x1 ,K, xk +2 )

 

i > j0

 

 

 

i=k +2

 

 

+

 

 

 

, x1,K, xk +3 )

 

ξi ξ j ξl y(x0

 

i > j >l0

 

 

+K .

Обрывая ряд на некотором числе слагаемых, получим приближённое выражение для соответствующей производной. Наиболее простые выражения соответствуют случаю, когда в формуле (4.1) оставляется только первое слагаемое:

y'(x) y(x

0

, x ) =

y(x0 ) y(x1 )

,

 

 

 

 

 

 

 

 

 

 

 

 

1

x0 x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

y''(x) y(x0 , x1, x2 ) =

 

 

 

 

y0 y1

2

 

x

0

x

2

 

 

x

0

x

 

 

 

 

 

 

 

 

 

 

 

1

1

 

 

 

 

 

 

 

 

k

 

 

 

k

 

y(k ) (x) y(x0 , x1,K, xk ) = y p (x

k!

 

 

 

 

 

 

p=0

i=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ip

 

y1

y2

 

 

 

 

 

 

 

x1

x2

,

(4.2)

 

 

p xi )1.

Заметим, что формулы (4.1) и (4.2) справедливы для произвольной неравномерной сетки.

Исследование точности полученных выражений при численных расчётах удобно делать при помощи апостериорной оценки, т.е. по скорости убывания слагаемых ряда (4.1). Если шаг сетки табличных значений достаточно мал, то погрешность близка к первому отброшенному слагаемому ряда.

Пусть мы используем узлы xi , i = 0,1,...n . Тогда первое отброшенное слагаемое содержит разделённую разность y(x0 , x1 ,K, xn+1 ) , которая согласно (4.2) примерно равна y(n + 1)/(n +1)!. Перед ней стоит сумма произведений различных множителей ξi ; каждое произведение содержит n + 1 – k множителей, а

вся сумма состоит из Сnk+1 слагаемых. Отсюда следует оценка погрешности формулы (4.1) с n + 1 узлами:

Rn(k )

M n+1

max

ξi

 

 

n+1k , M n+1 = max

 

y(n+1)

 

(4.3)

 

 

 

,

 

 

 

(n +1 k)! 123

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

108

 

 

 

 

[a,b]
[a,b]

В частности, если сетка равномерная, то max|ξi| < nh, откуда

Rn(k ) < M n+1

 

en

n+1k

= O(hn+1k ).

 

 

 

h

(4.4)

 

 

n +1 k

 

 

 

Эти оценки можно несколько улучшить за счёт более детального рассмотрения множителей ξi . Заметим, что строгое априорное исследование по-

грешности формулы (4.1) для произвольного расположения узлов приводит к той же оценке (4.3).

Таким образом, порядок точности формулы (4.1) по отношению к шагу сетки равен числу оставленных в ней слагаемых, или, что то же самое, он равен числу узлов интерполяции минус порядок производной. Поэтому минимальное число узлов, необходимое для вычисления k-той производной, равно k + 1; оно приводит к формулам (4.2) и обеспечивает первый порядок точности. Эти выводы соответствуют общему принципу: при почленном дифференцировании ряда скорость его сходимости уменьшается.

Если учесть ухудшение сходимости ряда при дифференцировании, то можно сделать вывод: даже если функция задана хорошо составленной таблицей на довольно подробной сетке, то практически численным дифференцированием можно хорошо определить первую и вторую производные, а третью и четвёртую – лишь удовлетворительно. Более высокие производные редко удаётся вычислить с приемлемой точностью.

4.2. Вывод простейших формул численного дифференцирования

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

где h =ba

xi =a +ih , i=

0,n

,

(4.5)

- шаг сетки.

 

n

 

 

 

 

Запишем интерполяционный многочлен Ньютона в начале таблицы, исполь-

зуя конечные разности k y0 :

N

(x)=y +y0

(xx )+2y0

(xx )(xx )+K+

n y0 (xx )(xx )...(xx

)

n

0

h

0

2!h2

0

1

n!hn

0

1

n1

 

 

 

 

 

 

 

 

 

 

Вывод формул упрощается, если ввести вспомогательную переменную

q=xhx0 :

109

N (x

+qh) = y

+qy

 

 

q(q1)

 

2

y

 

 

 

 

 

q(q1)...(qn+1)

 

n

y

 

 

 

 

 

+

 

 

 

 

0

+...+

 

 

 

 

 

 

 

 

 

0

(4.6)

 

 

 

2!

 

 

 

 

 

 

 

n!

 

 

 

n

0

 

 

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Продифференцируем выражение (4.6)

 

и получим конечноразностную фор-

 

мулу численного дифференцирования:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

+qh)

=

1

0

 

 

 

0

+

q2 q

2

0

+

q3

3q2

+2q

3

0

+

f (x)

qx

Nn(x

 

h

( y

 

+qy

 

 

 

2

 

 

y

 

6

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+

q4 6q3 +11q2 6q

4 y0 +...)q

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

т.е.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

+

2q1

 

 

2

 

0

+

3q2

6q+2

 

3

 

0

+

4q3

18q2 +22q6

 

 

4

0

+...)

 

 

 

 

 

 

 

 

 

 

 

f (x)

h(y

 

2

 

y

 

 

 

 

6

 

 

 

y

 

 

 

 

 

24

 

 

 

 

 

y

(4.7)

Дальнейшее дифференцирование приводит к приближенным формулам для вычисления второй и третьей производных:

 

 

 

1

 

 

2

 

 

 

3

 

 

 

 

 

4 y0 (6q2 18q+11)

 

 

 

′′

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

(x)

 

2

 

 

y0 +y0 (q1)+

 

 

 

 

 

12

 

+...

,

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f ′′′(x)

1

 

3

y0+(q

3

 

 

4

y0

 

 

 

 

 

 

 

 

 

 

 

 

 

2

)

 

+... .

 

(4.8)

 

h

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь учитывалось, что

 

 

 

df (x)

 

 

 

 

 

 

 

 

 

df (x)

 

 

 

 

 

 

 

 

df (x)

=

 

dq

 

=

1

 

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

dq

 

 

dx

 

h

 

dq

 

 

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

учитывать большее количество членов ряда Ньютона для обеспечения точности результата. При использовании формул (4.7)-(4.8) для приближенного

вычисления производных в заданной точке x*, принадлежащей некоторой окрестности точки x0 , следует найти соответствующее значение q% пере-

менной q = x*hx0 и подставить его в формулы.

Если производные функции f (x) надо определить в узлах интерполяции, т.е. x = xi , то тогда формулы (4.7)-(4.8) для первой и второй производных заметно упрощаются, так как в этом случае q 0 .

110

Простейшие формулы численного дифференцирования. Рассмотрим не-

сколько частных случаев интерполяционных многочленов степени n =1,2,3. На основе линейной интерполяции получим формулу

 

 

 

 

 

 

y0

 

 

 

0

 

 

1

 

 

(4.9)

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x)

 

 

 

для x (x

δ,x +δ) ,

 

 

 

на основе квадратичной интерполяции -

 

 

 

 

 

 

 

 

1

 

 

0

+

2q1

2

0

 

 

0

2

+δ)

 

 

 

 

 

 

 

 

 

 

f

(x) h(y

 

 

2

y )для

(x

δ,x

(4.10)

 

на основе кубической интерполяции:

 

 

 

 

 

 

 

1

0

+

2q1

 

2

 

 

0

+

3q2 6q+2

 

3

0

 

0

3

+δ) (4.11)

2

 

 

 

 

 

f (x) h

(y

 

y

 

 

6

 

y ), для (x

δ,x

и т.д. В дальнейшем особый интерес представляют частные случаи формул (4.9) – (4.11), связывающие приближенные значения производной функции

f '(x) в узлах x0,x1,x2,x3 с узловыми значениями самой функции. При n=1 из (4.9) получаем

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

0

=

 

y1y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

f (x ) y'

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

(4.12)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

y1y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x ) y

 

 

=

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

(4.13)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

Соотношение (4.12) называется правой разностной производной функции

 

 

f (x) в точке x0 , а соотношение (4.13) - левой разностной производной

 

 

функции f (x) в точке

x1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

При

 

n=2 из (4.11) получаем три формулы:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

(x

0

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

=

(y1

y0

+

 

x ) 1

2

1

0

1

0

 

2

1

0

=

f (x ) y

 

 

 

h

 

 

 

2

 

 

 

 

 

 

(y

2y + y )) =

 

y

y

2

(y

2y

+y )

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

h

 

 

 

 

 

 

 

=

 

 

(2y12y0y2+2y1y0 )=

 

 

(3y0+4y1y2 ) ,

 

 

 

(4.14)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2h

 

 

 

 

 

 

x1x0

 

 

 

 

 

 

 

 

2h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x )y

=

 

y

y

+

 

 

 

 

 

 

 

 

 

 

 

 

 

( y

2y

+y ) =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

111

 

1

 

 

 

1

 

 

 

 

 

1

(2y12y0+y22y1+y0 )=

1

(y0

+y2 )

=

 

y1y0+

 

 

( y2

2y1+y0) =

 

 

 

 

2

2h

2h

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.15)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

=

1

1

0

+

2(x2x0)1

2

1

0

 

 

 

f (x )y

 

 

y

y

2

 

( y

2y

+y ) =

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

=

1

(2y 2y0 +3y2 6y1 +3y0) = =

1

(y0+4y1+3y2).

(4.16)

 

 

 

2h

1

 

 

2h

 

 

 

 

 

 

 

Соотношение (4.15) называется центральной разностной производной

 

функции f (x) в точке

x1 , т.к. для вычисления использует значения функ-

ции в узлах слева и справа - y0 и y2 .

 

 

При n=3 из (4.11) получаем четыре формулы для вычисления первой

производной

 

 

 

 

 

 

 

 

0

0

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x )y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2(x0x0) 1

 

 

 

 

 

 

 

 

 

 

 

x0

x0 2

x0x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

6

 

 

+2

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h

 

 

h

 

 

 

 

 

 

 

 

 

 

 

h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

y1y0+

 

 

 

 

 

 

 

 

 

 

 

 

 

( y22y1+y0)+

 

 

 

 

 

 

 

 

 

 

 

 

 

( y3

3y2

+3y1y0)

 

=

h

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

1

 

 

 

 

 

1

( y22y1+y0)+

1

( y33y2

+3y1y0)

 

 

 

 

 

 

 

h

y1y0

2

3

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

1

 

(6y16y03y26y13y0+2y36y2+6y12y0))=

 

 

 

 

 

 

 

 

 

 

 

 

 

6h

 

 

 

+18y

9y

 

 

+2y

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=6h(11y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

0

 

 

 

 

 

1

 

 

 

 

2

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.17)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

=

 

(2y

0

 

 

1

+6y

2

 

 

3

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x )y

 

 

 

3y

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

2

 

1

 

 

 

 

0

 

 

 

1

 

 

 

2

 

 

 

 

3

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x )y

 

 

=6h(y

6y

+3y

 

+2y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

 

1

 

 

0

 

1

 

 

 

 

 

 

2

 

 

 

3

).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x3) y

 

3

6h

(2y

 

9y

 

+18y

+−11y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

112

Наиболее часто используется в приближениях простейшая аппроксимация

второй производной с помощью конечной разности второго порядка

2 y0

h2

на промежутке (x0δ,x2+δ) , получающаяся из (4.8) при n=2 .

 

В частности, в точке x1

имеем приближенное равенство

 

′′

1

′′1

 

y02y1+y2

 

 

f (x )y

 

=

 

.

(4.18)

 

h2

 

 

 

 

 

 

Эта формула вместе с формулами (4.12) - (4.17) широко используются при построении конечноразностных методов решения краевых задач для обыкновенных дифференциальных уравнений второго порядка.

Погрешность простейших формул численного дифференцирования.

При замене дифференциального выражения разностным возникает погрешность, выражение для которой нетрудно получить, используя формулу Тейлора:

f (x) = f (x0)+ f (x0)(x x0)+12 f ′′(x0)(xx0)2 +3!1 f ′′′(x0)(xx0)3 +...rn (x)

Будем предполагать, что f (x) обладает дос-

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

Кроме того, будем использовать формулу Тейлора в i-ом узле сетки xi , т.е. считать, что исходная информация о функции соответствует рисунку и речь идет об аппроксимации производных в i-ом узле сетки (или в отстоящих от него на расстоянии h узлах xi 1 и xi +1 ).

Простейшая несимметричная (левая или правая) разностная производная.

Запишем представление функции f (x) по формулам Тейлора в окрестности точки xi :

 

i

 

f

′′

 

f (x)= f (xi)+

f (x )

(xxi)+

(ξ)

(xxi)2

1!

 

2!

 

 

 

i

имеем:

 

 

Выразив отсюда f (x ) ,

 

 

113

 

i

 

f

′′

 

 

i

f (x)f (x )

(ξ)

i

(4.19)

(xxi)

 

2

f (x )=

 

(xx )

Первый член правой части – разностное отношение, аппроксимирующее производную вблизи xi , а второй – остаточный член, характеризующий точность такой аппроксимации.

Если зафиксировать в (4.19) x=xi 1 , то приходим к формуле левой разностной производной с остаточным членом:

 

 

 

 

 

 

 

 

 

 

i

y

y

 

f

(ξ

)

 

 

 

f (x )=

i

i 1

+

 

′′

i 1

h

,

(4.20)

 

h

 

2

 

где одновременно зафиксируется и неизвестная точка ξ=ξi 1 (xi 1, xi).

Аналогично при x = xi + 1 из (4.19) получаем формулу правой разностной производной с остаточным членом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

y

y

 

 

f

(ξ

)

 

 

 

 

f (x )=

i +1

 

i

 

′′

i +1

 

h

 

(4.21)

 

h

 

 

2

 

 

yi

 

 

 

 

 

 

i

yi +1

при i=0 узнаём выведенное

В приближенном равенстве

f (x )

 

 

 

 

 

h

ранее соотношение (4.12). Остаточные члены в (4.20) и (4.21) указывают на то, что, пользуясь аппроксимацией производной первого разностными производными

i

yi yi 1

 

и f

i

yi +1yi

 

h

h

 

f (x )

(x )

,

мы совершаем ошибку O(h) , т.е. эти формулы численного дифференцирования имеют первый порядок точности.

Простейшая симметричная разностная производная. Запишем представ-

ление функции

f (x) по формулам Тейлора в окрестности точки xi :

 

 

f (x)= f

i

i

 

 

i

1

 

′′

i

i

2

+

1

f

′′′

i

3

(x )+ f

(x )(xx )+

2

f (x )(xx )

 

6

(ξ)(xx )

 

Из этого разложения при x=xi 1 и x=xi +1 получаем соответственно:

 

 

i +1

i

i

 

1

′′

i

 

2

1

′′′

i +1

 

 

3

 

 

 

 

 

f (x )= f (x )+ f (x )h+

2 f

(x )h

 

+6

f (ξ

)h

 

 

 

 

 

 

и

114

f (xi 1)= f (xi)f (xi)h+12 f ′′(xi)h2 16 f ′′′(ξi 1)h3 .

Выполнив почленное вычитание этих равенств, получаем

yi +1yi =2hf (xi)+h63 ( f ′′′(ξi +1)+ f ′′′(ξi 1)) ,

откуда с помощью теоремы о среднем, примененной к сумме третьих производных в квадратных скобках, приходим к формуле симметричной аппрок-

симации f (xi) с остаточным членом:

 

i

yi +1yi

 

h2

′′′

i

 

 

 

f

2h

6 f

)

,

(4.22)

(x )=

(ξ

где ξi - некоторая точка из интервала (xi 1, xi +1) .

Эта формула означает, что аппроксимация первой производной функции симметричной разностной производной

f (xi)yi +21hyi

имеет второй порядок точности относительно шага h - O(h2) .

4.3. Некорректность операции численного дифференцирования

В формулах численного дифференцирования с постоянным шагом значения функции yi делятся на hm , где m – порядок вычисляемой производ-

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

функции и даже может неограниченно возрастать при стремлении шага h сетки к нулю.

Пусть значения

yi = f (xi )

заданы с погрешностью, т.е. вместо точного

значения yi = f (xi )

%

= yi +δi и граница абсолютной погрешно-

имеем yi

сти и функции в каждой точке удовлетворяет неравенству δi ≤ ∆. Если в

некоторой окрестности точки x0 производные, через которые выражаются

остаточные члены в формулах (4.20), (4.22), непрерывны и удовлетворяют неравенствам

115

f ′′′(x)

 

 

3,

 

f (4)(x)

 

 

4 ,

(4.23)

 

 

 

 

 

 

 

M

M

 

 

 

 

 

 

 

 

 

 

 

 

где M 3, M 4 - некоторые числа. Тогда полная погрешность формул

(4.20) - (4.22) (без учета погрешностей округления) не превосходит соответственно величин

 

 

 

 

 

 

 

 

 

 

+

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ε

=

 

 

+

M 3 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

2h

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+ 2

+

 

 

 

 

h2

 

 

 

 

 

 

 

 

 

 

 

 

 

ε2

=

 

 

+

 

 

 

M 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h2

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Минимизация по h этих величин приводит к следующим значениям h:

 

 

 

h

 

 

 

3

13

,

 

 

h

 

 

 

 

 

 

 

3

14

,

 

(4.24)

 

 

 

 

=

 

 

 

 

 

 

 

 

= 2

 

 

 

 

 

 

при этом

 

 

1

 

 

M 3

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

M 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ε1

=

3

 

M 32

 

 

 

 

ε2

 

 

 

 

 

 

M 4 12

.

(4.25)

2

 

 

 

3

 

 

 

,

 

 

= 2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если при выбранном

для какой-либо из формул (4.20) - (4.22) значении

h отрезок [x

, x

]

не выходит за пределы окрестности точки

x0 , в ко-

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

торой выполняется соответствующее неравенство (4.23), то найденное h является оптимальным и полная погрешность численного дифференцирования оценивается соответствующей величиной (4.25).

116