Погрешность численного дифференцирования
Формула правых разностей
Формула левых разностей
;
;
. (2)
;
;
. (3)
3.Формула центральных разностей
;
;
. (4)
Используя соотношения (2), (3), (4) последовательно можно получить выражения для вычисления производных высших порядков. К примеру, используя (3), получим:
. (5)
Открытым остается вопрос точности.
Аппроксимируя исследуемую функцию, ее представляют в виде:
. (6)
В качестве j(x) можно принять либо интерполяционную функцию, либо частичную сумму ряда. Тогда погрешность аппроксимации R(x) определяется остаточным членом ряда или Pn–1(x). Дифференцируя (6) необходимое число раз находим:
и т.д.
Тогда погрешность аппроксимации при численном дифференцировании функции, заданной таблицей с шагом h зависит от h, и ее записывают в виде О(hk). Показатель степени k называют порядком погрешности аппроксимации производной. При этом предполагается, что |h| < 1.
Оценку погрешности формул (2) – (5) можно проиллюстрировать с помощью ряда Тейлора.
Пусть дважды непрерывно дифференцируемая функция f(x) задана таблицей значений.
x | x0 | x1 | x2 | … | xn |
y | y0 | y1 | y2 | … | yn |
Где yi = f(xi), i = . Пусть далее узлы равностоящие, h = (xn – x0)/n, xi = x0 + ih,
.
Ряд Тейлора в общем виде:
(7)
Запишем (7) при x = x1, с точностью до h1:
y0 = y1 – y'1h + O(h2).
Тогда y'1 = .
Это выражение совпадает с (2) и является аппроксимацией первого порядка (k = 1). Тогда для произвольного узла .
А по всему отрезку [a,b], где h = (b-a)/n для f '(x) погрешность не превысит величины R = .
Полагая для (7) Dx = h, можно получить этот результат и для соотношения (3). Для оценки погрешности для (4) и (5) воспользуемся рядом Тейлора, полагая Dx = –h и Dx = h соответственно получим:
; (8)
;
в предположении, что f(x) трижды непрерывно дифференцируемая функция.
Вычитая из второго равенства первое, получаем:
+О(h2), здесь k = 2.
Для произвольного узла:
.
На основании (7) по всему отрезку погрешность аппроксимации не превзойдет величины:
.
Складывая равенства (8) найдем:
+О(h2), k = 2.
Для отрезка [xi–1, xi+1] получим:
, i =
.
А погрешность на отрезке [a, b] для второй производной оценивается соотношением:
.
Следует отметить, что, вообще говоря, приближенное дифференцирование представляет собой операцию менее точную, чем интерполирование. Считают, что при численном дифференцировании функции y = f(x), заданной таблично, имеют место два типа погрешностей:
а) погрешности усечения, которые вызываются заменой функции y = f(x) интерполяционным многочленом Pn(x);
б) погрешности округления, которые вызываются неточным заданием исходных значений yi.
При этом известно, что с уменьшением шага численного дифференцирования погрешность округления возрастает, а погрешность же усечения, как правило, убывает. Поэтому при вычислениях по формулам численного дифференцирования стоит задача и оптимального выбора шага h.