Участник:Айнагуль Джумабекова/Песочница
Материал из 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
≈
Содержание | 
Введение
Постановка математической задачи
Численное дифференцирование применяется, если функцию  трудно или невозможно продифференцировать аналитически - например, если она задана таблицей. Оно нужно также при решении дифференциальных уравнений при помощи разностных методов.
Изложение метода
При численном дифференцировании функцию  аппроксимируют легко вычисляемой функцией 
  и приближенно полагают 
. При этом можно использовать различные способы аппроксимации.
Интерполирование полиномами Лагранжа
Рассмотрим неравномерную сетку 
и обозначим за 
, 
 шаги этой сетки. В качества примера получим формулы численного дифференцирования, основанные на использовании многочлена Лагранжа 
, построенного для функции 
 по трем точкам 
. 
Многочлен 
 имеет вид 
Отсюда получим
Это выражение можно принять за приближенное значение  в любой точке 
∈ 
. 
Его удобнее записать в виде
 , где
, 
.
В частности, при  получим
,
И если сетка равномерна, 
, то приходим к центральной разностной производной, 
.
При использовании интерполяционного многочлена первой степени точно таким образом можно получить односторонние разностные производные 
 и 
.
Далее вычисляя вторую производную многочлена 
, получим приближенное выражение для 
 при 
∈
:
≈
На равномерной сетке это выражение совпадает со второй разностной производной . Ясно, что для приближенного вычисления дальнейших производных уже недостаточно многочлена 
, надо привлекать многочлены более высокого порядка и тем самым увеличивать число узлов, участвующих в аппроксимации.

