
- •Глава 7. Численное дифференцирование
- •7.1. Полиномиальные формулы
- •7.2. Оценки погрешности и порядки точности полиномиальных формул численного дифференцирования Понятие порядка точности приближенной формулы
- •Примеры оценки погрешности и определения порядков точности формул численного дифференцирования
- •7.3. Метод Рунге – Ромберга
- •7.4. Учет погрешностей при неточно заданных табличных данных
- •Контрольные вопросы и задания
Глава 7. Численное дифференцирование
Если функция является элементарной, то ее можно продифференцировать без особых проблем с помощью таблицы производных и правил дифференцирования. В противном случае задача дифференцирования функции может оказаться не такой простой. Если, например, функция задана не формулой, а таблицей значений в некоторых заданных точках, то задача вычисления ее производной вообще точно не решается из-за недостатка информации. В таких случаях используются специальные численные методы, позволяющие получать приближенные значения производной. Формулы приближенного численного дифференцирования используются не только по своему прямому назначению. С их помощью строятся разностные схемы для решения сложных краевых задач для дифференциальных уравнений.
7.1. Полиномиальные формулы
Пусть известна
таблица значений функции
,
то есть, известны
,
.
Будем искать приближения для производных
функции
.
Общий принцип приближенного численного
дифференцирования состоит в том, что
функция
приближенно заменяется другой функцией
,
а в качестве
производных функции
выбираютсяпроизводные
функции
,
(7.1.1)
(7.1.2)
Будем аппроксимировать
функцию
интерполяционным многочленом. Запишем
интерполяционный многочлен в форме
Ньютона
(7.1.3)
Для определения приближенных значений производных выберем соответствующие производные интерполяционного многочлена. В результате получим так называемые полиномиальные формулы численного дифференцирования. Так, формулы для приближенного вычисления первой производной можно получить путем однократного дифференцирования формулы (7.1.3):
.
(7.1.4)
При
увеличении порядка производной m
и с ростом n
получаются все более громоздкие формулы,
которые тяжело применить на практике.
Поэтому полиномиальные формулы
типа (7.1.4), используются при небольших
значениях n
и при их построении обычно используются
не все узлы таблицы, а только некоторая
часть из них. Кроме того, в большинстве
случаев требуется определить приближенные
значения производных только в табличных
узлах
,
а таблица, как правило, имеет постоянный
шаг. Именно этот случай мы и будем
рассматривать в дальнейшем. Иными
словами, мы рассматриваем случай, когда
,
а значения производных требуется знать
только в точках
.
Рассмотрим несколько примеров построения формул для вычисления производной первого порядка в некоторых узлах сетки.
Пример 1
Положим в формуле
(7.1.4)
и будем использовать два узла
и
.
В результате чего получим
(7.1.5)
Можно ожидать, что
формула (7.1.5) будет наиболее точна, когда
x
находится вблизи используемых табличных
узлов
и
.
В частности, при
и при
получим
,
(7.1.6)
.
(7.1.7)
Пример 2
Положим в формуле
(7.1.4)
и будем использовать
узлы
,
,
.
В результате чего получим
. (7.1.8)
Можно ожидать, что
формула (7.1.8) будет наиболее точна, когда
x
находится вблизи используемых табличных
узлов
,
и
.
В частности, при
,
и при
получим
,
(7.1.9)
(7.1.10)
. (7.1.11)
Дифференцируя правую часть равенства (7.1.4), получаем формулу для вычисления второй производной
(7.1.12)
Рассмотрим несколько примеров построения формул для вычисления производной второго порядка в некоторых узлах сетки.
Пример 3
Положим в формуле
(7.1.12)
и будем использовать
узлы
,
,
.
В результате чего получим
(7.1.13)
Можно ожидать, что
формула (7.1.13) будет наиболее точна,
когда x
находится вблизи используемых табличных
узлов
,
и
.
В частности, при
,
и при
получим
,
(7.1.14)
,
(7.1.15)
.
(7.1.16)
Формулы (7.1.6),
(7.1.7), (7.1.9), (7.1.10), (7.1.11), (7.1.14), (7.1.15), (7.1.16)
после элементарного обобщения можно
использовать для вычисления производных
не только в узлах
,
и
Очевидно, что если вместо узлов
,
взять узлы
,
и записать формулу (7.1.6), то вместо нее
получим общую формулу, которую можно
использовать почти на всей сетке:
,
.
(7.1.17)
Если вместо узлов
,
взять узлы
,
и записать формулу (7.1.7), то вместо нее
получим общую формулу
,
.
(7.1.18)
Заменив узлы
,
,
на
,
,
,
вместо формулы (7.1.9) получим общую формулу
,
. (7.1.19)
Заменив узлы
,
,
на
,
,
,
вместо формулы (7.1.10) получим общую
формулу
,
.
(7.1.20)
Заменив узлы
,
,
на
,
,
,
вместо формулы (7.1.11) получим общую
формулу
,
. (7.1.21)
Аналогично можно обобщить формулы (7.1.14) – (7.1.16):
,
,
(7.1.22)
,
,
(7.1.23)
,
.
(7.1.24)
Описанным способом можно получить и множество других формул численного дифференцирования. Но для их применения необходимо уметь оценивать погрешности получаемых с их помощью приближенных значений производных.