Численное дифференцирование

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Численное дифференцирование — совокупность методов вычисления значения производной дискретно заданной функции.

Введение[править | править вики-текст]

В основе численного дифференцирования лежит аппроксимация функции, от которой берется производная, интерполяционным многочленом. Все основные формулы численного дифференцирования могут быть получены при помощи первого интерполяционного многочлена Ньютона (формулы Ньютона для начала таблицы).

Основными задачами являются вычисление производной на краях таблицы и в ее середине. Для равномерной сетки формулы численного дифференцирования «в начале таблицы» можно представить в общем виде следующим образом:

f'_i = \frac{1}{b h} \sum_j a_j f_{i+j} + \Delta(f),

где ~\Delta(f) — погрешность формулы. Здесь коэффициенты ~a_j и ~b зависят от степени n использовавшегося интерполяционного многочлена, то есть от необходимой точности (скорости сходимости к точному значению при уменьшении шага сетки) формулы. Коэффициенты представлены в таблице

n a_0 a_1 a_2 a_3 a_4 a_5 b
1 -1 1 0 0 0 0 1
2 -3 4 -1 0 0 0 2
3 -11 18 -9 2 0 0 6
4 -25 48 -36 16 -3 0 12
5 -137 300 -300 200 -75 12 60

Формулы численного дифференцирования[править | править вики-текст]

Один из универсальных способов построения формул численного дифференцирования состоит в том, что по значениям функции f(x) в некоторых узлах x_0, x_1, \ldots , x_N \; строят интерполяционный полином P_N(x)(в форме Лагранжа или в форме Ньютона) и приближенно полагают

f^{(r)}(x)\approx P^{(r)}_N(x),0 \leq r \leq N

В ряде случаев, наряду у с приближенным равенством удается (например,используя формулу Тейлора) получить точное равенство, содержащее остаточный член R (погрешность численного дифференцирования)

f^{(r)}(x)=P^{(r)}_N(x)+R,0 \leq r \leq N

Такие формулы называются формулами численного дифференцирования с остаточными членами.

Степень, с которой входит величина h = \max h_i\,(h_i=x_i-x_{i-1}) в остаточный член, называется порядком погрешности формулы численного дифференцирования. Формулы с отброшенными остаточными членами называются просто формулами численного дифференцирования.


Ниже приводятся несколько распространенных формул численного дифференцирования с остаточными членами для первой ({r=1}) и второй ({r=2}) производных в узлах, расположенных с постоянным шагом {h>0}:

{r=1,N=1} (два узла):
f^'({x_o})=({f_1-f_0})/h-h{f^{' '}(\xi)}/2
f^'({x_1})=({f_1-f_0})/h+h{f^{' '}(\xi)}/2


{r=1,N=2} (три узла):
f^'({x_o})=(-3{f_0}+4{f_1}-{f_2})/2{h}+h^2{f^{'''}(\xi)}/3
f^'({x_1})=({f_2}-{f_0})/2{h}+h^2{f^{'''}(\xi)}/6
f^'({x_2})=({f_0}-4{f_1}+3{f_2})/2{h}+h^2{f^{'''}(\xi)}/3


{r=2,N=2} (три узла):
f^{''}({x_0})=({f_0}-2{f_1}+{f_2})/{h^2}+h{f^{'''}(\xi)}
f^{''}({x_1})=({f_0}-2{f_1}+{f_2})/{h^2}+h^2{f^{(4)}(\xi)}/12
f^{''}({x_2})=({f_0}-2{f_1}+{f_2})/{h^2}+h{f^{'''}(\xi)}


{r=2,N=3} (четыре узла):
f^{''}({x_0})=(2{f_0}-5{f_1}+4{f_2}-{f_3})/{h^2}+11{h^2}{f^{(4)}(\xi)}/12
f^{''}({x_1})=({f_0}-2{f_1}+{f_2})/{h^2}-h^2{f^{(4)}(\xi)}/12
f^{''}({x_2})=({f_0}-2{f_1}+{f_2})/{h^2}-h^2{f^{(4)}(\xi)}/12
f^{''}({x_3})=(-{f_0}+4{f_1}-5{f_2}+2{f_3})/{h^2}+11{h^2}{f^{(4)}(\xi)}/12


где h — шаг сетки, а точка \xi - некоторая промежуточная точка.


В формулах численного дифференцирования с постоянным шагом h значения функции f({x}) делятся на h^{r}, где r-порядок вычисляемой производной. Поэтому при малом h неустранимые погрешности в значениях функции f({x}) оказывают сильное влияние на результат численного дифференцирования. Таким образом, возникает задача выбора оптимального шага h, так как погрешность собственно метода стремится к нулю при h\to{0}, а неустранимая погрешность растет. В результате общая погрешность, которая возникает при численном дифферецировании, может неограниченно возрастать при h\to{0}. Поэтому операцию численного дифференцирования считают некорректной.