Задача численного дифференцирования состоит в приближенном вычислении производных функции по заданным в конечном числе точек значениям этой функции. Пусть на задана сетка
и определены значения функции в точках сетки.
Простейшие примеры численного дифференцирования имеют вид:
, ,
Возникающая в результате такой замены погрешность характеризуется разложениями
, (3.35)
, (3.46)
, (3.37)
где , точки из интервала .
Вторую производную в точке можно заменить отношением (доказать, дом. зад. №4)
, (3.38)
Третья производная в точке с точностью до величин определяется по формуле (доказать, дом. зад. №4)
. (3.39)
Четвертая производная в точке аппроксимируется разностным отношением (доказать, дом. зад. №4)
.
Как правило, значения функции в точках сетки вычисляются неточно, а с каким-то приближением. Например, элементарные трансцендентные функции вычисляются с помощью рядов, причем ряды заменяются конечными суммами. Другим источником погрешностей являются погрешности округления. Оказывается, что погрешность, возникающая при вычислении разностных отношений, намного превосходит погрешность в задании значений функции и даже может неограниченно возрастать при стремлении шага сетки к нулю. Поэтому операцию вычисления разностных отношений называют некорректной. Поясним причину некорректости на примере вычисления разностного отношения .
Разностное отношение хорошо приближает только в том случае, когда шаг достаточно мал. Требование малости величины , находящейся в знаменателе разностного отношения, как раз и является причиной некорректности операции численного дифференцирования. Действительно, пусть вместо точных значений и вычислены приближенные значения , и . Тогда вместо будет вычислена величина . Следовательно, погрешность в вычислении первой разностной производной окажется равной .
Пусть известна граница погрешностей , т.е. , . Тогда
, (3.40)
причем эта оценка достигается при . Из оценки (3.40) видно, что вследствие малости погрешность, возникающая при вычислении первой разностной производной, значительно превосходит погрешность вычисления самой функции . Если не зависит от , то погрешность неограниченно возрастает при .
Сказанное не означает, что нельзя пользоваться формулами численного дифференцирования. Чтобы не происходило существенного понижения точности, надо следить за тем, чтобы погрешность округления имела тот же порядок, что и погрешность аппроксимации. Например, из (3.35) следует, что погрешность аппроксимации при замене отношением не превосходит величины , где . Естественно потребовать, чтобы и погрешность округления была бы сравнима с погрешностью аппроксимации, например
, (3.41)
где не зависит от . Это означает, что погрешность при вычислении значений функции должна быть величиной . С другой стороны, неравенство (3.41) показывает, что если величина задана и мы не можем ее менять, то вычисления надо проводить не с произвольно малым шагом , а с шагом, удовлетворяющим условию , где .
При вычислении производных более высокого порядка, когда в знаменатель разностного отношения входит , , влияние неточности в задании сказывается еще сильнее.
Многие формулы численного дифференцирования можно получить как следствие интерполяционных формул. Для этого достаточно заменить функцию ее интерполяционным многочленом и вычислить производные многочлена , используя его явное представление. В отличие от предыдущего, рассмотрим неравномерную сетку
и обозначим через , шаги этой сетки. В качестве примера получим формулы численного дифференцирования, основанные на использовании многочлена Лагранжа , построенного для функции по трем точкам . Многочлен имеет вид
,(3.42)
отсюда получим
Это выражение можно принять за приближенное значение в любой точке . Его удобнее записать в виде
, (3.43)
где . В частности, при получим
, (3.44)
и если сетка равномерна, то приходим к центральной разностной производной
.
Далее, вычисляя вторую производную многочлена , получим приближенное выражение для при :
. (3.45)
На равномерной сетке это выражение совпадает со второй разностной производной
.
Для приближенного вычисления дальнейших производных уже недостаточно многочлена , надо привлекать многочлены более высокого порядка и тем самым увеличивать число узлов, участвующих в аппроксимации.
Порядок погрешности аппроксимации зависит как от порядка интерполяционного многочлена, так и от расположения узлов интерполирования. Получим выражение для погрешности аппроксимации, возникающей при замене выражением . Будем считать, что и что величины имеют один и тот же порядок малости при измельчении сетки. По формуле Тейлора в предположении ограниченности получим
,
где , . Отсюда приходим к следующим разложениям разностных отношений (доказать, дом. зад. №4):
,(3.46)
,(3.47)
где Подставляя (3.46) и (3.47) в выражение для разностной производной (3.43) и приводя подобные члены, получим (доказать, дом. зад. №4):
, .
Отсюда видно, что разностное выражение (3.43) аппроксимирует со вторым порядком. Несколько хуже обстоит дело с выражением (3.45), аппроксимирующим вторую производную. Из (3.38) видно, что на равномерной сетке в точке имеет место аппроксимация . Покажем, что на неравномерной сетке погрешность аппроксимации будет иметь только первый порядок. Подставляя разложения (3.46) и (3.47) в выражение (3.45) для получим (доказать, дом. зад. №4):
, .
На равномерной сетке второй порядок аппроксимации имеет место лишь в точке , а относительно других точек (например, точек и ) выполняется аппроксимация только первого порядка.