Глава 4. Численное дифференцирование и интегрирование
4.1. Численное дифференцирование
Такая задача часто возникает, когда исходная функция f(x) задана таблично, то есть своими значениями в некоторых точках. Тогда наиболее простым способом расчёта производных этой функции заключается в её интерполировании полиномом соответствующей степени, и вычисления производных от этого полинома. То есть f(x) аппроксимируется полиномом Ln(x), и полагают f ’(x) Ln’(x), f “(x) Ln”(x) и т.д.
Получим простейшие формулы приближенного дифференцирования. Чтобы получить формулы для первой производной построим полином первой степени в форме Лагранжа по двум значениям функции y0, y1:
L1(x)=((x-x1)/(x0-x1))*y0+((x-x0)/(x1-x0))*y0.
Тогда на всем интервале интерполирования x[ x0, x1]
f ’(x) Ln’(x) = y0/(x0-x1)+y1/(x1-x0)=(y1-y0)/(x1-x0).
Если обозначить h=x1-x0, то f ’(x) =(y1-y0)/h. Это отношение называют разностным отношением или разностной производной первого порядка. Чаще всего его используют для вычисления производной в узле. По отношению к узлу x0 это будет производная справа, а по отношению к узлу x1 – слева. Таким образом, для точки x1 f ’(x1)(y1-y0)/h - называется левой разностной производной, а f ’(x1)(y2-y1)/h - правой разностной производной (с учетом, что h=x2-x1).
Среднее арифметическое левой и правой разностных производных определяет среднюю или центральную производную первого порядка:
f ’(x1)0.5((y1-y0)/h+(y2-y1)/h)=(y2-y0)/2h.
Для того чтобы найти выражение для разностной производной второго порядка, требуется аппроксимация заданной функции полиномом как минимум 2-ого порядка:
L2(x)=y0(x-x1)(x-x2)/((x0-x1)(x0-x2))+y1(x-x0)(x-x2)/((x1-x0)(x1-x2))+
+y2(x-x0)(x-x2)/((x2-x0)(x2-x1)).
Вторая производная от этого полинома имеет вид
L2”(x)=2y0/((x0-x1)(x0-x2))+2y1/((x1-x0)(x1-x2))+2y2/((x2-x0)(x2-x1))=
=(y0-2y1+y2)/h2.
Последнее выражение используется как разностная производная заданной функции в точке x1. Оно представляет собой симметричное разностное отношение для случая равноотстоящих узлов:
f ’’(x1) (y0-2y1+y2)/h2.
Для произвольного i-го узла полученные формулы записываются следующим образом:
f ’(xi) (yi-yi-1)/h, (1)
f ’(xi) (yi+1-yi)/h, (2)
f ’(xi) (yi+1-yi-1)/2h, (3)
f ’’(xi) (yi-1-2yi+yi+1)/h2. (4)
4.2. Оценки погрешности формул численного дифференцирования
Рассмотрим разложение заданной функции f(x) в ряд Тейлора в окрестности произвольного узла xi:
f(xi+1)=f(xi+h)=f(xi)+hf’(xi)+h²/2!f”(xi)+h³/3!f’’’(xi)+h4/4!f’’’’(xi), (5)
f(xi-1)=f(xi-h)=f(xi)-hf’(xi)+h²/2!f”(xi)-h³/3!f’’’(xi)+h4/4!f’’’’(xi). (6)
Учитывая, что yif(xi) выразим из разложения (6) разностное отношение слева от точки xi:
(yi-yi-1)/h = f’(xi)- h/2!f”(xi) + О(h2).
Это означает, что левая разностная производная аппроксимирует первую производную f в точке xi с первым порядком точности по шагу h.
Аналогично, выражая из разложения (5) разностное отношение справа от точки xi, получим:
(yi+1-yi)/h = f’(xi)+ h/2!f”(xi) + О(h2).
Вычитая разложение (6) из (5)получим
(yi+1-yi-1)/2h=f’(xi)+ h2/6f”(xi) + О(h3),
т.е. среднее разностное отношение аппрксимирует первую производную f’(xi) со вторым порядком точности по шагу h.
Сложим теперь оба разложения (5) и (6) и из этой суммы выразим разностное отношение второго порядка:
(yi+1-2yi+yi+1)/h² = f ”(xi)+ h2/12f ””(xi)+О(h3),
т.е. разностное отношение второго порядка аппроксимирует вторую производную со вторым порядком точности по шагу h.
