Участник:Айнагуль Джумабекова/Песочница

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

(Различия между версиями)
Перейти к: навигация, поиск
Строка 10: Строка 10:
<tex>u''(x)</tex>≈<tex>L_{2,i}''(x)=\frac{1}{\bar{h_i}}(\frac{u_{i+1}-u_i}{h_{i+1}}- \frac{u_i-u_{i-1}}{h_i})</tex>
<tex>u''(x)</tex>≈<tex>L_{2,i}''(x)=\frac{1}{\bar{h_i}}(\frac{u_{i+1}-u_i}{h_{i+1}}- \frac{u_i-u_{i-1}}{h_i})</tex>
 +
 +
== Введение ==
 +
=== Постановка математической задачи ===
 +
Численное дифференцирование применяется, если функцию <tex>y(x)</tex> трудно или невозможно продифференцировать аналитически - например, если она задана таблицей. Оно нужно также при решении дифференциальных уравнений при помощи разностных методов.
 +
 +
== Изложение метода ==
 +
 +
При численном дифференцировании функцию <tex>y(x)</tex> аппроксимируют легко вычисляемой функцией <tex>\varphi(x)</tex> и приближенно полагают
 +
<tex>y'(x)=\varphi'(x)</tex>. При этом можно использовать различные способы аппроксимации.
 +
 +
===Интерполирование полиномами Лагранжа===
 +
 +
Рассмотрим неравномерную сетку <tex>\omega_h=\{a=x_0<x_1<x_2<\dots<x_N=b\}</tex>
 +
и обозначим за <tex>h_i=x_i-x_{i-1}</tex>, <tex>i=1,2,\dots,N</tex> шаги этой сетки. В качества примера получим формулы численного дифференцирования, основанные на использовании многочлена Лагранжа <tex>L_{2,i}(x)</tex>, построенного для функции <tex>u(x)</tex> по трем точкам <tex>x_{i-1},x_i,x_{i+1}</tex>.
 +
Многочлен <tex>L_{2,i}(x)</tex> имеет вид
 +
 +
<tex>L_{2,i}(x)=\frac {(x-x_i)(x-x_{i+1})}{h_i(h_i+h_{i+1})}u_{i-1}-\frac {(x-x_{i-1})(x-x_{i+1})}{h_ih_{i+1}}u_i+\frac {(x-x_{i-1})(x-x_i)}{h_{i+1}(h_i+h_{i+1})}u_{i+1}</tex>
 +
 +
Отсюда получим
 +
<tex>L_{2,i}'(x)=\frac{(2x-x_i-x_{i+1})}{h_i(h_i+h_{i+1})}u_{i-1}-\frac {(2x-x_{i-1}-x_{i+1})}{h_ih_{i+1}}u_i+\frac {(2x-x_{i-1}-x_i)}{h_{i+1}(h_i+h_{i+1})}u_{i+1}</tex>
 +
 +
Это выражение можно принять за приближенное значение <tex>u'(x)</tex> в любой точке <tex>x</tex>∈ <tex>[x_{i-1},x_{i+1}]</tex>.
 +
Его удобнее записать в виде
 +
<tex> L_{2,i}'(x)=\frac {1}{\bar{h_i}}[(x-<tex>x_{i-\frac{1}{2}}) \frac{u_{i+1}-u_i}{h_{i+1}} + (x_{i+\frac{1}{2}}-x) \frac{u_i-u_{i-1}}{h_i}]</tex> , где
 +
<tex>\bar{h_i}=0,5(h_i+h_{i+1})</tex>, <tex>x_{i-\frac{1}{2}}=x_i-0,5h_i</tex>.
 +
 +
В частности, при <tex>x=x_i</tex> получим
 +
<tex>L_{2,i}'(x_i)=\frac{1}{2}(\frac{h_i}{\bar{h_i}}\frac{u_{i+1}-u_i}{h_{i+1}}+\frac{h_{i+1}}{\bar{h_i}}\frac{u_i-u_{i-1}}{h_i})</tex>,
 +
И если сетка равномерна, <tex>h_{i+1}=h_i=h</tex>, то приходим к центральной разностной производной, <tex>L_{2,i}'(x_i)=u_{\dot{x},i}</tex>.
 +
При использовании интерполяционного многочлена первой степени точно таким образом можно получить односторонние разностные производные <tex>u_{\bar{x},i}</tex> и <tex>u_{x,i}</tex>.
 +
Далее вычисляя вторую производную многочлена <tex>L_{2,i}(x)</tex>, получим приближенное выражение для <tex>u''(x)</tex> при <tex>x</tex>∈<tex>[x_{i-1},x_{i+1}]</tex>:
 +
 +
<tex>u''(x)</tex>≈<tex>L_{2,i}''(x)=\frac{1}{\bar{h_i}}(\frac{u_{i+1}-u_i}{h_{i+1}}- \frac{u_i-u_{i-1}}{h_i})</tex>
 +
 +
На равномерной сетке это выражение совпадает со второй разностной производной <tex>u_{\bar{x}x,i}</tex>. Ясно, что для приближенного вычисления дальнейших производных уже недостаточно многочлена <tex>L_{2,i}(x)</tex>, надо привлекать многочлены более высокого порядка и тем самым увеличивать число узлов, участвующих в аппроксимации.

Версия 17:57, 17 декабря 2008

 L_{2,i}'(x)=\frac {1}{\bar(h_i)}[(x-x_{i-\frac{1}{2}}) \frac{u_{i+1}-u_i}{h_{i+1}} + (x_{i+\frac{1}{2}}-x) \frac{u_i-u_{i-1}}{h_i}]

\bar{h_i}=0,5(h_i+h_{i+1})

x_{i-\frac{1}{2}}=x_i-0,5h_i

L_{2,i}'(x_i)=\frac{1}{2}(\frac{h_i}{\bar{h_i}}\frac{u_{i+1}-u_i}{h_{i+1}}+\frac{h_{i+1}}{\bar{h_i}}\frac{u_i-u_{i-1}}{h_i})

L_{2,i}'(x_i)=u_{\dot{x},i}

u''(x)L_{2,i}''(x)=\frac{1}{\bar{h_i}}(\frac{u_{i+1}-u_i}{h_{i+1}}- \frac{u_i-u_{i-1}}{h_i})

Содержание

Введение

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

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

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

При численном дифференцировании функцию y(x) аппроксимируют легко вычисляемой функцией \varphi(x) и приближенно полагают y'(x)=\varphi'(x). При этом можно использовать различные способы аппроксимации.

Интерполирование полиномами Лагранжа

Рассмотрим неравномерную сетку \omega_h=\{a=x_0<x_1<x_2<\dots<x_N=b\} и обозначим за h_i=x_i-x_{i-1}, i=1,2,\dots,N шаги этой сетки. В качества примера получим формулы численного дифференцирования, основанные на использовании многочлена Лагранжа L_{2,i}(x), построенного для функции u(x) по трем точкам x_{i-1},x_i,x_{i+1}. Многочлен L_{2,i}(x) имеет вид

L_{2,i}(x)=\frac {(x-x_i)(x-x_{i+1})}{h_i(h_i+h_{i+1})}u_{i-1}-\frac {(x-x_{i-1})(x-x_{i+1})}{h_ih_{i+1}}u_i+\frac {(x-x_{i-1})(x-x_i)}{h_{i+1}(h_i+h_{i+1})}u_{i+1}

Отсюда получим L_{2,i}'(x)=\frac{(2x-x_i-x_{i+1})}{h_i(h_i+h_{i+1})}u_{i-1}-\frac {(2x-x_{i-1}-x_{i+1})}{h_ih_{i+1}}u_i+\frac {(2x-x_{i-1}-x_i)}{h_{i+1}(h_i+h_{i+1})}u_{i+1}

Это выражение можно принять за приближенное значение u'(x) в любой точке x[x_{i-1},x_{i+1}]. Его удобнее записать в виде  L_{2,i}'(x)=\frac {1}{\bar{h_i}}[(x-<tex>x_{i-\frac{1}{2}}) \frac{u_{i+1}-u_i}{h_{i+1}} + (x_{i+\frac{1}{2}}-x) \frac{u_i-u_{i-1}}{h_i}] , где \bar{h_i}=0,5(h_i+h_{i+1}), x_{i-\frac{1}{2}}=x_i-0,5h_i.

В частности, при x=x_i получим L_{2,i}'(x_i)=\frac{1}{2}(\frac{h_i}{\bar{h_i}}\frac{u_{i+1}-u_i}{h_{i+1}}+\frac{h_{i+1}}{\bar{h_i}}\frac{u_i-u_{i-1}}{h_i}), И если сетка равномерна, h_{i+1}=h_i=h, то приходим к центральной разностной производной, L_{2,i}'(x_i)=u_{\dot{x},i}. При использовании интерполяционного многочлена первой степени точно таким образом можно получить односторонние разностные производные u_{\bar{x},i} и u_{x,i}. Далее вычисляя вторую производную многочлена L_{2,i}(x), получим приближенное выражение для u''(x) при x[x_{i-1},x_{i+1}]:

u''(x)L_{2,i}''(x)=\frac{1}{\bar{h_i}}(\frac{u_{i+1}-u_i}{h_{i+1}}- \frac{u_i-u_{i-1}}{h_i})

На равномерной сетке это выражение совпадает со второй разностной производной u_{\bar{x}x,i}. Ясно, что для приближенного вычисления дальнейших производных уже недостаточно многочлена L_{2,i}(x), надо привлекать многочлены более высокого порядка и тем самым увеличивать число узлов, участвующих в аппроксимации.

Личные инструменты