Русская Википедия:Коэффициенты формул численного дифференцирования

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

В математике для приближённого вычисления производных заданной таблично функции можно искать выражение значений производных через известные значения функции с помощью подходящего набора коэффициентов. Для этого можно использовать различные интерполяционные формулы или метод неопределённых коэффициентов.

Равноотстоящие узлы

Пусть <math>x_0</math> — точка, в которой необходимо вычислить производные достаточно гладкой функции <math>f</math>, <math>x_k = x_0 + kh</math> — сетка равноотстоящих узлов с шагом <math>h</math> и известны значения функции <math>f</math> в этих узлах. В этом случае можно выразить формулы численного дифференцирования непосредственно через значения функции <math>f</math> с помощью интерполяционной формулы Лагранжа. Такие формулы называются также безразностными, так как не требуют вычисления конечных или разделённых разностейШаблон:Sfn.

В зависимости от расположения точки <math>x_0</math> в сетке узлов (слева, справа или посередине) различают соответственно коэффициенты, вычисленные «вперёд», «назад» и симметричные коэффициенты.

Симметричные коэффициенты

Для получения симметричных коэффициентов число узлов в сетке должно быть нечётным. Тогда порядок погрешности приближения будет чётным числом.

Порядок производной Порядок погрешности −5 −4 −3 −2 −1 0 1 2 3 4 5
1 2 −1/2 0 1/2
4 1/12 −2/3 0 2/3 −1/12
6 −1/60 3/20 −3/4 0 3/4 −3/20 1/60
8 1/280 −4/105 1/5 −4/5 0 4/5 −1/5 4/105 −1/280
2 2 1 −2 1
4 −1/12 4/3 −5/2 4/3 −1/12
6 1/90 −3/20 3/2 −49/18 3/2 −3/20 1/90
8 −1/560 8/315 −1/5 8/5 −205/72 8/5 −1/5 8/315 −1/560
3 2 −1/2 1 0 −1 1/2
4 1/8 −1 13/8 0 −13/8 1 −1/8
6 −7/240 3/10 −169/120 61/30 0 −61/30 169/120 −3/10 7/240
4 2 1 −4 6 −4 1
4 −1/6 2 −13/2 28/3 −13/2 2 −1/6
6 7/240 −2/5 169/60 −122/15 91/8 −122/15 169/60 −2/5 7/240
5 2 −1/2 2 −5/2 0 5/2 −2 1/2
4 1/6 −3/2 13/3 −29/6 0 29/6 −13/3 3/2 −1/6
6 −13/288 19/36 −87/32 13/2 −323/48 0 323/48 −13/2 87/32 −19/36 13/288
6 2 1 −6 15 −20 15 −6 1
4 −1/4 3 −13 29 −75/2 29 −13 3 −1/4
6 13/240 −19/24 87/16 −39/2 323/8 −1023/20 323/8 −39/2 87/16 −19/24 13/240

Например, третья производная с погрешностью второго порядка вычисляется как

<math>f(x_0) = \frac{-\frac{1}{2}f(x_{-2}) + f(x_{-1}) -f(x_{+1}) + \frac{1}{2}f(x_{+2})}{h^3} + O\left(h^2 \right)~.</math>

Коэффициенты вперёд

Порядок производной Порядок погрешности 0 1 2 3 4 5 6 7 8
1 1 −1 1              
2 −3/2 2 −1/2            
3 −11/6 3 −3/2 1/3          
4 −25/12 4 −3 4/3 −1/4        
5 −137/60 5 −5 10/3 −5/4 1/5      
6 −49/20 6 −15/2 20/3 −15/4 6/5 −1/6    
2 1 1 −2 1            
2 2 −5 4 −1          
3 35/12 −26/3 19/2 −14/3 11/12        
4 15/4 −77/6 107/6 −13 61/12 −5/6      
5 203/45 −87/5 117/4 −254/9 33/2 −27/5 137/180    
6 469/90 −223/10 879/20 −949/18 41 −201/10 1019/180 −7/10  
3 1 −1 3 −3 1          
2 −5/2 9 −12 7 −3/2        
3 −17/4 71/4 −59/2 49/2 −41/4 7/4      
4 −49/8 29 −461/8 62 −307/8 13 −15/8    
5 −967/120 638/15 −3929/40 389/3 −2545/24 268/5 −1849/120 29/15  
6 −801/80 349/6 −18353/120 2391/10 −1457/6 4891/30 −561/8 527/30 −469/240
4 1 1 −4 6 −4 1        
2 3 −14 26 −24 11 −2      
3 35/6 −31 137/2 −242/3 107/2 −19 17/6    
4 28/3 −111/2 142 −1219/6 176 −185/2 82/3 −7/2  
5 1069/80 −1316/15 15289/60 −2144/5 10993/24 −4772/15 2803/20 −536/15 967/240

Например, первая производная с погрешностью третьего порядка и вторая производная с погрешностью второго порядка вычисляются как

<math>f'(x_0) = \frac{-\frac{11}{6}f(x_0) + 3f(x_{+1}) -\frac{3}{2}f(x_{+2}) +\frac{1}{3}f(x_{+3}) }{h} + O\left(h^3 \right)~, </math>
<math>f(x_0) = \frac{2f(x_0) - 5f(x_{+1}) + 4f(x_{+2}) - f(x_{+3}) }{h^2} + O\left(h^2 \right)~. </math>

Нетрудно видеть, что коэффициенты для погрешности первого порядка представляют собой биномиальные коэффициенты с меняющимися знаками, что соответствует общей формуле для восходящих конечных разностей.

Коэффициенты назад

Для получения коэффициентов назад необходимо обратить знаки у коэффициентов вперёд для производных нечётных порядков и зеркально отразить таблицу коэффициентов справа налево:

Порядок производной Порядок погрешности −5 −4 −3 −2 −1 0
1 1         −1 1
2       1/2 −2 3/2
3     −1/3 3/2 −3 11/6
2 1       1 −2 1
2     −1 4 −5 2
3 1     −1 3 −3 1
2   3/2 −7 12 −9 5/2
4 1   1 −4 6 −4 1
2 −2 11 −24 26 −14 3

Например, первая производная с погрешностью третьего порядка и вторая производная с погрешностью второго порядка вычисляются как

<math>f'(x_0) = \frac{\frac{11}{6}f(x_0) - 3f(x_{-1}) +\frac{3}{2}f(x_{-2}) -\frac{1}{3}f(x_{-3}) }{h} + O\left(h^3 \right)~, </math>
<math>f(x_0) = \frac{2f(x_0) - 5f(x_{-1}) + 4f(x_{-2}) - f(x_{-3}) }{h^2} + O\left(h^2 \right)~. </math>

Произвольная сетка узлов

Для получения коэффициентов для произвольно расположенных узлов <math>x_0,\ldots,x_N</math> удобно использовать метод неопределённых коэффициентовШаблон:Sfn. Для этого значение искомой производной порядка <math>k</math> в точке <math>x_j</math> записывается в виде

<math> f^{(k)} (x_j) = \sum\limits_{i=0}^N c_i f(x_i) + R(f)~,</math>

где

<math>c_i</math> — неизвестные коэффициенты,
<math>R</math> — остаточный член интерполяции.

Коэффициенты <math>c_i</math> подбираются из условия <math>R(f)=0</math>, которое должно выполняться для функций <math>1</math>, <math>x</math>, <math>x^2</math>,..., <math>x^N</math>. Получается следующая система линейных уравнений:

<math> \left( \begin{array}{cccc}

1 &1 &\ldots &1 \\ x_0 &x_1 &\ldots &x_N \\ \vdots &\vdots &\ddots &\vdots\\ x_0^{k-1} &x_1^{k-1} &\ldots &x_N^{k-1} \\ x_0^k &x_1^k &\ldots &x_N^k \\ x_0^{k+1} &x_1^{k+1} &\ldots &x_N^{k+1} \\ \vdots &\vdots &\ddots &\vdots\\ x_0^N &x_1^N &\ldots &x_N^N \\ \end{array} \right) \left( \begin{array}{c} c_0 \\ c_1 \\ \vdots \\ c_{k-1} \\ c_k \\ c_{k+1} \\ \vdots \\ c_N \end{array} \right) = \left( \begin{array}{c} 0 \\ 0 \\ \vdots \\ 0 \\ k! \\ (k+1)! x_j \\ \vdots \\ N(N-1)\ldots(N-k+1) x_j^{N-k} \end{array} \right)~. </math>

В этом случае погрешность вычислений будет иметь порядок <math>N-k+1</math>.

Матрица системы является матрицей Вандермонда, которая также возникает при решении общей задачи интерполяции многочленами.

Примечания

Шаблон:Примечания

Литература

Шаблон:Refbegin

Шаблон:Refend

Ссылки

См. также