Вычислительная математика
|
назад | оглавление | вперед |
Глава 6. Численное дифференцирование
Пусть имеется функция которую необходимо продифференцировать несколько раз и найти эту производную в некоторой точке.
Если задан явный вид функции, то выражение для производной часто оказывается достаточно сложным и желательно его заменить более простым. Если же функция задана только в некоторых точках (таблично), то получить явный вид ее производных ввобще невозможно. В этих ситуациях возникает необходимость приближенного (численного) дифференцирования.
Простейшая идея численного дифференцирования состоит в том, что функция заменяется интерполяционным многочленом (Лагранжа, Ньютона) и производная функции приближенного заменяется соответствующей производной интерполяционного многочлена
Рассмотрим простейшие формулы численного дифференцирования, которые получаются указанным способом.
Будем предполагать, что функция задана в равностоящих узлах . Значения функции и значения производных в узлах будем обозначать
Пусть известны значения функции в двух точках и
:
Воспользуемся линейной интерполяцией: . Тогда,
.
В частности, при x = x1 получаем               (1)
Формула (1) называется левой разностной производной.
Если найти производную, используя линейную интерполяцию в точках x1 и x2, то получим правую разностную производную:
.               (2)
Пусть задана в трех точках
Используя квадратичную интерполяцию
, получаем
.
В частности, при x = x0 получаем               (3)
Формула (3) называется центральной разностной производной.
Наконец, если взять вторую производную, используя квадратичную интерполяцию, то получим формулу:
.
В частности, при x = x0 получаем .               (4)
Формула (4) носит название второй разностной производной.
Формулы (1)-(4) называются формулами численного дифференцирования.
При численном дифференцировании, как и при интерполяции, возникает два типа погрешностей:
Предполагая функцию достаточное число раз непрерывно дифференцируемой, можно получить погрешности усечения приближенных формул (1)–(4).
Для формулы (1) .               (5)
Для формулы (3) .               (6)
Для формулы (4) .               (7)
Погрешности округления формул (1), (3), (4), соответственно равны .
Погрешность усечения при уменьшении h уменьшается, а погрешность округления, напротив, увеличивается.
Поэтому шаг не следует брать слишком большой, чтобы погрешность усечения не была велика, и не следует брать слишком маленьким, чтобы не была велика погрешность округления.
Оптимальный шаг для формулы (1):.               (8)
Оптимальный шаг для формулы (3):.              (9)
Оптимальный шаг для формулы (4):.               (10)
Пример Задана таблица значений функции f(x).
x |
0.4 |
0.6 |
0.8 |
y |
0.400 |
1.485 |
2.680 |
Найдите оценку первой производной в точке 0.5. Оцените погрешность, если известно, что при
.
По формуле (3) при h = 0.1 получаем
Погрешность усечения оценим по формуле (6):
Используя интерполяционные многочлены более высоких порядков можно получать формулы численного дифференцирования для более старших производных и для большего количества узлов интерполирования.