Формулы численного дифференцирования.
Задача численного дифференцирования состоит в приближенном вычислении производных функции по заданным в конечном числе точек значениям этой функции. Пусть на
задана сетка
и определены значения функции
в точках сетки.
Простейшие примеры численного дифференцирования имеют вид:
,
,
Возникающая в результате такой замены погрешность характеризуется разложениями
, (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):
,
.
На равномерной сетке второй порядок аппроксимации имеет место лишь в точке , а относительно других точек (например, точек
и
) выполняется аппроксимация только первого порядка.