Вычисление второй производной по одной переменной
Материал из MachineLearning.
| Строка 16: | Строка 16: | ||
{{ eqno | 1 }}  | {{ eqno | 1 }}  | ||
::<tex> \varphi^{(k)}(x)=k!\left[ y(x_0,x_1,\dots,x_k) + \left( \sum_{i=0}^k \xi_i \right) y(x_0,x_1,\dots,x_{k+1}) + \left( \sum_{i>j\geq 0}^{i=k+1}\xi_i\xi_j\right)y(x_0,x_1,\dots,x_{k+2})   + \left( \sum_{i>j>l\geq 0}^{i=k+2}\xi_i\xi_j\xi_l\right)y(x_0,x_1,\dots,x_{k+3}) +\dots\right] </tex>  | ::<tex> \varphi^{(k)}(x)=k!\left[ y(x_0,x_1,\dots,x_k) + \left( \sum_{i=0}^k \xi_i \right) y(x_0,x_1,\dots,x_{k+1}) + \left( \sum_{i>j\geq 0}^{i=k+1}\xi_i\xi_j\right)y(x_0,x_1,\dots,x_{k+2})   + \left( \sum_{i>j>l\geq 0}^{i=k+2}\xi_i\xi_j\xi_l\right)y(x_0,x_1,\dots,x_{k+3}) +\dots\right] </tex>  | ||
| + | |||
| + | Здесь <tex>y(x_0,x_1,\dots,x_k)</tex> -  разделенные разности.  | ||
Обрывая ряд на некотором числе членов, получим приближенное выражение для соответсвующей производной. Наиболее простые выражения получим, оставляя в формуле {{eqref|1}} только первый член:  | Обрывая ряд на некотором числе членов, получим приближенное выражение для соответсвующей производной. Наиболее простые выражения получим, оставляя в формуле {{eqref|1}} только первый член:  | ||
| Строка 42: | Строка 44: | ||
Чаще всего используются равномерные сетки, на которых вид формул {{eqref|1}} заметно упрощается, а точность нередко повышается.  | Чаще всего используются равномерные сетки, на которых вид формул {{eqref|1}} заметно упрощается, а точность нередко повышается.  | ||
| - | Рассмотрим сначала причину повышения точности. Остаточный член общей формулы {{eqref|1}} - это чногочлен <tex>\sum\prod(x-x_i)</tex> степени <tex>n+1-k</tex> относительно <tex>x</tex>. Если <tex>x</tex> равен корню этого многочлена, то главный остаточный член обращается в нуль, то есть в этой точке формула имеет порядок точности на еденицу больше, чем согласно оценке {{eqref|4}}. Эти точки повышенной точности будем обозначать <tex>x_k^{(p)}</tex>, где <tex>k</tex> - порядок производной, а <tex>p=n+1-k</tex> - число оставленных в формуле {{eqref|1}} членов. Очевидно, <tex>p</tex>-членная формула имеет p точек   | + | Рассмотрим сначала причину повышения точности. Остаточный член общей формулы {{eqref|1}} - это чногочлен <tex>\sum\prod(x-x_i)</tex> степени <tex>n+1-k</tex> относительно <tex>x</tex>. Если <tex>x</tex> равен корню этого многочлена, то главный остаточный член обращается в нуль, то есть в этой точке формула имеет порядок точности на еденицу больше, чем согласно оценке {{eqref|4}}. Эти точки повышенной точности будем обозначать <tex>x_k^{(p)}</tex>, где <tex>k</tex> - порядок производной, а <tex>p=n+1-k</tex> - число оставленных в формуле {{eqref|1}} членов. Очевидно, <tex>p</tex>-членная формула имеет p точек повышенной точности.  | 
У одночленной формулы {{eqref|2}} для <tex>k</tex>-й производной точка повышенной точности на произвольной сетке определяется учловием <tex>\sum \xi_i=\sum(x-x  | У одночленной формулы {{eqref|2}} для <tex>k</tex>-й производной точка повышенной точности на произвольной сетке определяется учловием <tex>\sum \xi_i=\sum(x-x  | ||
| Строка 80: | Строка 82: | ||
где <tex>\eta_{+}</tex> - некая точка интервала <tex>(x_i, x_{i+1})</tex>, а <tex>\eta_{-}</tex> - некоторая точка итервала <tex>(x_{i-1},x_i)</tex>. Подставляя эти разложения во вторую разность, стоящую в правой части формулы {{eqref|6}} для второй производной имеем:  | где <tex>\eta_{+}</tex> - некая точка интервала <tex>(x_i, x_{i+1})</tex>, а <tex>\eta_{-}</tex> - некоторая точка итервала <tex>(x_{i-1},x_i)</tex>. Подставляя эти разложения во вторую разность, стоящую в правой части формулы {{eqref|6}} для второй производной имеем:  | ||
| - | ::<tex>\frac{1}{h^2}(y_{i+1}-2y_i+y_{i-1})=y_i''+\frac{h^2}{24}[y^{(4)}(\eta_{+}+y^{(4)}  | + | ::<tex>\frac{1}{h^2}(y_{i+1}-2y_i+y_{i-1})=y_i''+\frac{h^2}{24}[y^{(4)}(\eta_{+})+y^{(4)}(\eta_{-})]= y_i'' +O(h^2) </tex>.  | 
Это подтверждает ранее сделанную оценку и уточняет величину остаточного члена, который оказался равен <tex>h^2y^{(4)}(\eta)/12</tex>. Такой способ получения остаточного члена проще, чем непосредственное  вычисление по формуле {{eqref|1}}.  | Это подтверждает ранее сделанную оценку и уточняет величину остаточного члена, который оказался равен <tex>h^2y^{(4)}(\eta)/12</tex>. Такой способ получения остаточного члена проще, чем непосредственное  вычисление по формуле {{eqref|1}}.  | ||
Версия 20:03, 15 октября 2008
Содержание | 
Введение
Постановка математической задачи
Допустим, что в некоторой точке  у функции 
 существует производная 2-го порядка 
, которую точно вычислить либо не удается, либо слишком сложно. В этом случае для приближенного нахождения производной функции требуется использовать методы численного дифференцирования.
Изложение метода
Полиномиальные формулы
При численном дифференцировании функцию  аппроксимируют легко вычисляемой функцией 
  и приближенно полагают 
. При этом можно использовать различные способы аппроксимации. Рассмотрим простейший случай - аппроксимацию интерполяционным многочленом Ньютона. Вводя обозначение 
, запишем это многочлен и продифференцируем его почленно:
Общая формула примет следующий вид:
Здесь  -  разделенные разности.
Обрывая ряд на некотором числе членов, получим приближенное выражение для соответсвующей производной. Наиболее простые выражения получим, оставляя в формуле (1) только первый член:
,
,
Исследование точности полученных выражений при численных расчетах удобно делать  при помощи апостериорной оценки, по скорости убывания членов ряда (1). Если шаг сетки достаточно мал, то погрешность близка к первому  отброшенному члену. Пусть мы используем узлы . Тогда  первый отброшенный член содержит разделенную разность 
, которая согласно (2) примерно равна 
. Перед ней стоит сумма произведений различных множителей 
; каждое произведение содержит 
 множителей, а вся сумма состоит из 
 слагаемых. Отсюда следует оценка погрешности формулы (1) с 
 узлами:
,
В частности, если сетка равномерная, то , откуда
.
Стоит заметить, что строгое априорное исследование погрешности формулы (1), аналогичное выводу остаточного члена многочлена Ньютона в форме Коши, для произвольного расположения узлов приводит к той же оценке (3).
Таким образом, порядок точности формулы (1) по отношению к шагу сетки равен числу оставленных в ней членов, или, что то же самое, он равен числу узлов интерполяции минус порядок производной. Поэтому минимальное число узлов, необходимое для вычисления -й производной, равно 
; оно приводит к формулам (2) и обеспечивает первый порядок точности. Эти выводы соответсвуют общему принципу: при почленном дифференцировании рдяа скорость его сходимости уменьшается.
Простейшие формулы
Чаще всего используются равномерные сетки, на которых вид формул (1) заметно упрощается, а точность нередко повышается.
Рассмотрим сначала причину повышения точности. Остаточный член общей формулы (1) - это чногочлен  степени 
 относительно 
. Если 
 равен корню этого многочлена, то главный остаточный член обращается в нуль, то есть в этой точке формула имеет порядок точности на еденицу больше, чем согласно оценке (4). Эти точки повышенной точности будем обозначать 
, где 
 - порядок производной, а 
 - число оставленных в формуле (1) членов. Очевидно, 
-членная формула имеет p точек повышенной точности.
У одночленной формулы (2) для -й производной точка повышенной точности на произвольной сетке определяется учловием 
, что дает
;
в этой  точке одночленная формула имеет погрешность  вместо обычной 
. Для двучленной формулы задача нахождения точек повышенной точности приводит к квадратному уравнению, корни которого действительны, но формула для их нахождения громоздка. Если 
, то найти точки повышенной точности очень сложно, за исключением одного частного случая, который мы сейчас и рассмотрим.
Утверждение. Пусть  нечетно, а узлы в формуле (2) выбраны так, что они расположены симметрично относительно точки 
; тогда 
 является одной из точек повышенной точности 
.
Доказательство. В самом деле, при этом величины  имеюи попарно равные абсолютные величины, но противоположные знаки. В остаточном члене множитель 
 имеет нечетную степень, и при  одномерном изменении знаков всех 
он должен изменить знак. Но поскольку одновременное изменение знаков 
 сводится при таком расположении узлов лишь к перемене их нумерации, то величина 
 должна сохраниться, что возможно только при 
. Утверждение доказано.
Замечание. Число узлов предполагалось произвольным; очевидно, симметричное расположение узлов относительно точки  означает, что при нечетном числе узлов точка 
 совпадает с центральным узлом, а при четном - лежит между средними узлами.
На произвольной сетке условие симметрии реализуется только в исключительных случаях. Но если сетка равномерна, то каждый ее узел симметрично окружен соседними узлами. Это позволяется составить несложные формулы хорошей точности для вычисления производных в узлах сетки.
Например, возьмем три соседний узла , 
 и 
. и вычислим первую и вторую производную в среднем узле. Выражая в одночленных формулах (2) разделенные разности через узловые значения функции, легко получим:
,
,
,
.
Аналогично можно вывести формулы более высокого порядка или для более выслких производных. Например, формула для второй производной в центральной точке по пяти узлам:
Заметим, что формулы (6) и (7) написаны для случая равномерной сетки; применение их на неравномерной сетке приведет к грубой ошибке.
На равномерной сетке для априоной оценки точности формул часто применяют  способ разложения по формуле Тейлора-Макрорена. Предположим, например, что функция   имеет непрерыную четвертую производную, и выразим значения функции в узлах 
  через значиния функции и ее производных в центре симметрии узлов (в данном случае этим центром является узел 
):
,
где  - некая точка интервала 
, а 
 - некоторая точка итервала 
. Подставляя эти разложения во вторую разность, стоящую в правой части формулы (6) для второй производной имеем:
.
Это подтверждает ранее сделанную оценку и уточняет величину остаточного члена, который оказался равен . Такой способ получения остаточного члена проще, чем непосредственное  вычисление по формуле (1).
Числовой пример
Рекомендации программисту
Заключение
Список литературы
- А.А.Самарский, А.В.Гулин. Численные методы. Москва «Наука», 1989.
 - Н.С.Бахвалов, Н.П.Жидков, Г.М.Кобельков. Численные методы. Лаборатория Базовых Знаний, 2003.
 - Н.Н.Калиткин. Численные методы. Москва «Наука», 1978.
 

