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