Численное дифференцирование

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Численное дифференцирование — совокупность методов приближённого вычисления значения производной некоторой функции, заданной таблично или имеющей сложное аналитическое выражение.

Конечные разности

[править | править код]

Производная функции в точке определяется с помощью предела:

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

приближает производную функции в точке с точностью до величины, пропорциональной . Использование выражения

позволяет сократить ошибку приближения до величины, пропорциональной .

Конечными разностями можно также приближать производные высших порядков.

Интерполяция

[править | править код]

Если известны значения функции в некоторых узлах , то можно построить интерполяционный полином (например, в форме Лагранжа или в форме Ньютона) и приближенно положить

Такие выражения называются формулами численного дифференцирования.

Иногда наряду с приближенным равенством удаётся (например, используя формулу Тейлора) получить точное равенство, содержащее остаточный член , называемый погрешностью численного дифференцирования:

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

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

  • (два узла):
  • (три узла):
  • (три узла):
  • (четыре узла):

Здесь , , а — некоторая промежуточная точка между наибольшим и наименьшим из узлов.

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

Неустранимая погрешность

[править | править код]

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

Комплексные числа

[править | править код]

Классические приближения конечными разностями содержат неустранимую погрешность и являются плохо обусловленными. Однако, если функция является голоморфной, принимает вещественные значения на вещественной прямой и может быть оценена в любой окрестности любой вещественной точки комплексной плоскости, то её производная может быть вычислена устойчивыми методами. Например, первую производную можно сосчитать по формуле с комплексным шагом[1]:

где мнимая единица. Эту формулу можно получить из следующего разложения в ряд Тейлора:

В общем случае производные произвольного порядка можно вычислить с помощью интегральной формулы Коши:

Интеграл можно вычислять приближённо.

Литература

[править | править код]

Примечания

[править | править код]
  1. Complex Step Differentiation. Дата обращения: 4 мая 2021. Архивировано 6 мая 2021 года.