ГЛАВА III. ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ
В главе III рассмотрено численное дифференцирование функции, заданной на некоторой сетке. Введены квазиравномерные сетки, полезные во многих приложениях. Обсуждена некорректность задачи дифференцирования, проявляющаяся при сильном уменьшении шага, и изложены некоторые способы регуляции. Показано, как можно повышать точность и оценивать погрешность при сгущении сетки.
1. Полиномиальные формулы.
Численное дифференцирование применяется, если функцию у(х) трудно или невозможно продифференцировать аналитически — например, если она задана таблицей. Оно нужно также при решении дифференциальных уравнений при помощи разностных методов.
При численном дифференцировании функцию у(х) аппроксимируют легко вычисляемой функцией и приближенно полагают . При этом можно Использовать различные способы аппроксимации, изложенные в главе II. Сейчас мы рассмотрим простейший случай — аппроксимацию интерполяционным многочленом Ньютона (2.8). Вводя обозначение запишем этот многочлен и продифференцируем его почленно:
Общая формула имеет следующий вид:
Обрывая ряд на некотором числе членов, получим приближенное выражение для соответствующей производной. Наиболее простые выражения получим, оставляя в формуле (1) только первый член:
При написании последней формулы использованы результаты задачи 1 к главе II. Все формулы (1)-(2) рассчитаны на произвольную неравномерную сетку.
Исследование точности полученных выражений при численных расчетах удобно делать при помощи апостериорной оценки, по скорости убывания членов ряда (1). Если шаг сетки достаточно мал, то погрешность близка к первому отброшенному члену. Пусть мы используем узлы п. Тогда первый отброшенный член содержит разделенную разность , которая согласно (2) примерно равна . Перед ней стоит сумма произведений различных множителей каждое произведение содержит множителей, а вся сумма состоит из слагаемых. Отсюда следует оценка погрешности формулы (1) с 1 узлами:
В частности, если сетка равномерная, то откуда
Эти оценки можно несколько улучшить за счет более детального рассмотрения множителей Заметим, что строгое априорное исследование погрешности формулы (1), аналогичное выводу остаточного члена многочлена Ньютона в форме Коши (2.10), для произвольного расположения узлов приводит к той же оценке (3).
Таким образом, порядок точности формулы (1) по отношению к шагу сетки равен числу оставленных в ней членов, или, что то же самое, он равен числу узлов интерполяции минус порядок производной. Поэтому минимальное число узлов, необходимое для вычисления производной, равно оно приводит к формулам (2) и обеспечивает первый порядок точности. Эти выводы соответствуют общему принципу: при почленном дифференцировании ряда скорость его сходимости уменьшается.
В главе II рекомендовалось использовать в формулах интерполяции не более 4 — 6 узлов. Если еще учесть ухудшение сходимости ряда при дифференцировании, то можно сделать вывод: даже если функция задана хорошо составленной таблицей на довольно подробной сетке, то практически численным дифференцированием можно хорошо определить первую и вторую производные, а третью и четвертую — лишь удовлетворительно. Более высокие производные редко удается вычислить с приемлемой точностью.
Замечание 1, Кубическая сплайновая интерполяция (2.20) обладает тем свойством, что первая и вторая производные интерполяционного многочлена всюду непрерывны. Обычно дифференцирование кубического сплайна позволяет определить эти производные с хорощей точностью. Если надо вычислить более высокие производные, то целесообразно строить сплайны высоких порядков. Из-за большой трудоемкости этот способ редко используется; теоретически он мало исследован.
Замечание 2. Если табулирована не только функция, но и ее производные, то следует составлять и дифференцировать интерполяционный многочлен Эрмита. Производные при этом вычисляются намного точнее, чем при дифференцировании интерполяционного многочлена Ньютона с тем же числом свободных параметров по формулам