Вычисление второй производной по одной переменной

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 13: Строка 13:
Общая формула примет следующий вид:
Общая формула примет следующий вид:
 +
{{ 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>
 +
Обрывая ряд на некотором числе членов, получим приближенное выражение для соответсвующей производной. Наиболее простые выражения получим, оставляя в формуле {{eqref|1}} только первый член:
 +
 +
::<tex>y'(x)\approx y(x_0,x_1) = \frac{y(x_0)-y(x_1)}{x_0-x_1}</tex>,
 +
 +
{{ eqno | 1 }}
 +
::\frac{1}{2}<tex>y''(x)\approx y(x_0,x_1,x_2) = \frac{1}{x_0-x_2}\left( \frac{y_0-y_1}{x_0-x_1}- \frac{y_1-y_2}{x_1-x_2}\right)</tex>,
 +
 +
::\frac{1}{k!}<tex>y^{(k)}(x) \approx y(x_0,x_1,\dots,x_k) = \sum_{p=0}^{k}y_p \prod_{i=0, i\neq p}^k {(x_p-x_i)}^{-1}
== Числовой пример ==
== Числовой пример ==
== Рекомендации программисту ==
== Рекомендации программисту ==

Версия 17:53, 15 октября 2008

Введение

Постановка математической задачи

Допустим, что в некоторой точке x у функции y(x) существует производная 2-го порядка y''(x), которую точно вычислить либо не удается, либо слишком сложно. В этом случае для приближенного нахождения производной функции требуется использовать методы численного дифференцирования.

Изложение метода

При численном дифференцировании функцию y(x) аппроксимируют легко вычисляемой функцией \varphi(x) и приближенно полагают y^{(k)}(x)\approx\varphi^{(k)}(x). При этом можно использовать различные способы аппроксимации. Рассмотрим простейший случай - аппроксимацию интерполяционным многочленом Ньютона. Вводя обозначение \xi_i=x-x_i, запишем это многочлен и продифференцируем его почленно:

\varphi(x)=y(x_0)+\xi_0 y(x_0,x_1)+\xi_0\xi_1 y(x_0,x_1,x_2) + \xi_0\xi_1\xi_2  y(x_0,x_1,x_2,x_3)+\dots
\varphi'(x)=y(x_0,x_1)+(\xi_0+\xi_1) y(x_0,x_1,x_2) + (\xi_0\xi_1+\xi_0\xi_2 +\xi_1\xi_2) y(x_0,x_1,x_2,x_3)+\dots
\varphi''(x)=2 y(x_0,x_1,x_2) + 2(\xi_0+\xi_1 +\xi_2) y(x_0,x_1,x_2,x_3)+\dots

Общая формула примет следующий вид:

( 1 )
 \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]

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

y'(x)\approx y(x_0,x_1) = \frac{y(x_0)-y(x_1)}{x_0-x_1},
( 1 )
\frac{1}{2}y''(x)\approx y(x_0,x_1,x_2) = \frac{1}{x_0-x_2}\left( \frac{y_0-y_1}{x_0-x_1}- \frac{y_1-y_2}{x_1-x_2}\right),
\frac{1}{k!}y^{(k)}(x) \approx y(x_0,x_1,\dots,x_k) = \sum_{p=0}^{k}y_p \prod_{i=0, i\neq p}^k {(x_p-x_i)}^{-1}
== Числовой пример ==
== Рекомендации программисту ==
== Заключение ==
== Список литературы ==
</p>
<ul><li> ''А.А.Самарский, А.В.Гулин.''  Численные методы. Москва «Наука», 1989.
</li><li> ''Н.С.Бахвалов, Н.П.Жидков, Г.М.Кобельков.''  Численные методы. Лаборатория Базовых Знаний, 2003. 
</li></ul>
<p>http://win-web.ru/uchebniki/open/bahvalov_chisl_meth.html
</p>
<ul><li> ''Н.Н.Калиткин.''  Численные методы. Москва «Наука», 1978. 
</li></ul>
<p><br />
{{stub}}
[[Категория:Численное дифференцирование]]