
6. Численное дифференцирование
Задача численного дифференцирования состоит в приближенном вычислении производной функции у=f(x) по заданным в конечном числе точек значениям этой функции.
6.1. Вычисление производной по ее определению
Пусть функция у=f(x) определена в окрестности точки х0 и имеет производную в этой точке, т.е. существует предел отношения приращения функции у к приращению аргумента х при х →0:
(х0)=
(х0)=
,
х=х-х0,
у=f(x0+х)-f(x0). (6.1)
Значение производной в точке х0 можно получить, переходя к переделу в (6.1) по последовательности целых чисел п и полагая, например х=(х)п=(х)0/ап, (х)0 – некоторое начальное приращения аргумента, а – некоторое число (a>1), п =0, 1, …. Тогда значение производной в точке х0 можно записать:
(х0)=
(х0)=
,
(у)п=f(x0+(х)п)-f(x0), (6.2)
отсюда
(х0)
. (6.3)
Если функция у=f(x) в окрестности точки х0 имеет непрерывную производную до второго порядка включительно, то точность приближения производной соотношением (6.2) можно установить, воспользовавшись формулой Тейлора
,
Тогда
.
И окончательно имеем
,
. (6.4)
При практических вычислениях производной с заданной точность удобно пользоваться формулой
. (6.5)
Пример 1. Вычислить производную функции y=sin x в точке х0=π/3 с точность ε=10-3 (π/3 =1,047198…).
Положим (х)=0,1; а=10; (х)п=0,1∙10-п, откуда
.
Определим приближенное значение производной:
;
п=0, 1, 2, …
Найдем отношения аппроксимирующие производную:
0,45590189;
0,49566158;
0,03975969;
=0,49956690;
=0,00390532;
=0,49995670;
=0,00038979390
< ε.
Итак,
начиная с третьего приближения, в
соответствии с оценкой (6.3), получаем
искомое приближение производной данной
функции
с точностью, не менее чем заданная
ε=10-3.
6.2. Конечно-разностный аппроксимации производных
Пусть на отрезке [a, b] введена сетка h={xi=a+ih, i=0, 1, …, n, nh=b-a}, где h – шаг сетки, и определены значения функции уi=f(xi) функции у=f(x) в точках сетки. Выражения для первой производной функции в точке xi с помощью отношения конечных разностей можно записать следующим образом:
а) аппроксимация с помощью разностей вперед – правых разностей
(хi)
,
хi=хi+1-хi=h,
уi=
yi+1-yi,
(хi)
,
i= 0, 1, …, n-1; (6.6)
Данное соотношение не позволяет вычислить производную в точке xn=b.
б) аппроксимация с помощью разностей назад – левых разностей
(хi)
,
хi=хi-хi-1=h,
уi=
yi-yi-1,
(хi)
,
i= 1, …, n; (6.7)
Данное соотношение не позволяет вычислить производную в точке x0=а.
в) аппроксимация с помощью центральных разностей (в этом случае рассматриваются три точки хi+1, хi, хi-1)
(хi)
,
хi=хi+1-хi-1=2h,
уi=
yi+1-yi-1;
(хi)
,
i= 1, …, n-1 (6.8)
Аппроксимация с помощью центральных разностей представляет собой среднее арифметическое соотношений (6.6) и (6.7) в точках {xi}, i= 1, …, n-1. Кроме того, оно не позволяет вычислить значения производной в крайних точках интервала x0=а и xn=b.
Для функции у=f(x), имеющей непрерывную производную до второго порядка включительно, погрешность аппроксимации производных разностями вперед (6.6) и назад (6.7) в точке xi имеет один и тот же порядок О(h).
Рассмотрим левую разность
.
По формуле Тейлора
,
следовательно
.
Погрешность
=
;
[xi-h,
xi]
или [xi,
xi+h],
возникает при замене дифференциального
выражения
разностным yx,i
и называется погрешностью аппроксимации.
Погрешность
аппроксимации центральными разностями
(6.8) для функции у=f(x),
имеющей непрерывную производную до
третьего порядка включительно, имеет
порядок О(h2):
,[xi-h,
xi+h],
т.е. центральная разность аппроксимирует
производную более точно.
Приближенное значение производной второго порядка в точке xi выражается через значения функции уi+1, уi, уi-1. Для этого представим вторую производную с помощью правой разности
,
а производные первого порядка - с помощью левых разностей
,
,
тогда
,
i= 1, …, n-1 (6.9)
Погрешность
последней аппроксимации имеет порядок
О(h2),
,
[xi-h,
xi+h]
для у=f(x),
имеющей непрерывную производную до
четвертого порядка включительно на
отрезке [a, b].
Формула (6.9) позволяет вычислить значения
второй производной только во внутренних
точках отрезка