Коэффициент конечной разности

Коэффициент, используемый в численной аппроксимации

В математике для аппроксимации производной до произвольного порядка точности можно использовать конечную разность . Конечная разность может быть центральной , прямой или обратной .

Центральная конечная разность

В этой таблице содержатся коэффициенты центральных разностей для нескольких порядков точности и с равномерным шагом сетки: [1]

ПроизводныйТочность−5−4−3−2−1012345
12−1/201/2
41/12−2/302/3−1/12
6−1/603/20−3/403/4−3/201/60
81/280−4/1051/5−4/504/5−1/54/105−1/280
221−21
4−1/124/3−5/24/3−1/12
61/90−3/203/2−49/183/2−3/201/90
8−1/5608/315−1/58/5−205/728/5−1/58/315−1/560
32−1/210−11/2
41/8−113/80−13/81−1/8
6−7/2403/10−169/12061/300−61/30169/120−3/107/240
421−46−41
4−1/62−13/228/3−13/22−1/6
67/240−2/5169/60−122/1591/8−122/15169/60−2/57/240
52−1/22−5/205/2−21/2
41/6−3/213/3−29/6029/6−13/33/2−1/6
6−13/28819/36−87/3213/2−323/480323/48−13/287/32−19/3613/288
621−615−2015−61
4−1/43−1329−75/229−133−1/4
613/240−19/2487/16−39/2323/8−1023/20323/8−39/287/16−19/2413/240

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

ф ( х 0 ) 1 2 ф ( х 2 ) + ф ( х 1 ) ф ( х + 1 ) + 1 2 ф ( х + 2 ) час х 3 + О ( час х 2 ) , {\displaystyle f'''(x_{0})\approx {\frac {-{\frac {1}{2}}f(x_{-2})+f(x_{-1})-f(x_{+1})+{\frac {1}{2}}f(x_{+2})}{h_{x}^{3}}}+O\left(h_{x}^{2}\right),}

где представляет собой равномерный шаг сетки между каждым интервалом конечной разности, а . час х {\displaystyle h_{x}} х н = х 0 + н час х {\displaystyle x_{n}=x_{0}+nh_{x}}

Для -й производной с точностью имеются центральные коэффициенты . Они задаются решением системы линейных уравнений м {\displaystyle м} н {\displaystyle n} 2 п + 1 = 2 м + 1 2 1 + н {\displaystyle 2p+1=2\left\lfloor {\frac {m+1}{2}}\right\rfloor -1+n} а п , а п + 1 , . . . , а п 1 , а п {\displaystyle а_{-п},а_{-п+1},...,а_{п-1},а_{п}}

( 1 1 . . . 1 1 п п + 1 . . . п 1 п ( п ) 2 ( п + 1 ) 2 . . . ( п 1 ) 2 п 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ( п ) 2 п ( п + 1 ) 2 п . . . ( п 1 ) 2 п п 2 п ) ( а п а п + 1 а п + 2 . . . . . . . . . а п ) = ( 0 0 0 . . . м ! . . . 0 ) , {\displaystyle {\begin{pmatrix}1&1&...&1&1\\-p&-p+1&...&p-1&p\\(-p)^{2}&(-p+1)^{2}&...&(p-1)^{2}&p^{2}\\...&...&...&...&...\\...&...&...&...&...\\...&...&...&...&...\\(-p)^{2p}&(-p+1)^{2p }&...&(p-1)^{2p}&p^{2p}\end{pmatrix}}{\begin{pmatrix}a_{-p}\\a_{-p+1}\\a_{-p+2}\\...\\...\\...\\a_{p}\end{pmatrix}}={\begin{pmatrix}0\\0\\0\\...\\m!\\...\\0\end{pmatrix}},}

где единственное ненулевое значение в правой части находится в -й строке. ( м + 1 ) {\displaystyle (м+1)}

Доступна реализация с открытым исходным кодом для вычисления коэффициентов конечной разности произвольных производных и порядка точности в одном измерении. [2]
Учитывая, что матрица левой стороны является транспонированной матрицей Вандермонда , перестановка показывает, что коэффициенты в основном вычисляются путем подгонки и вывода полинома -го порядка к окну точек. Следовательно, коэффициенты также могут быть вычислены как производная -го порядка полностью определенного фильтра Савицкого–Голея с полиномиальной степенью и размером окна . Для этого также доступны реализации с открытым исходным кодом. [3] Существует два возможных определения, которые отличаются порядком коэффициентов: фильтр для фильтрации через дискретную свертку или через произведение матрицы и вектора . Коэффициенты, приведенные в таблице выше, соответствуют последнему определению. Дж. Т {\displaystyle \mathbf {J} ^{T}} 2 п {\displaystyle 2p} 2 п + 1 {\displaystyle 2p+1} м {\displaystyle м} 2 п {\displaystyle 2p} 2 п + 1 {\displaystyle 2p+1}

Теория полиномов Лагранжа дает явные формулы для коэффициентов конечной разности. [4] Для первых шести производных имеем следующее:

Производный а 0 {\displaystyle а_{0}} а п ( п 0 ) {\displaystyle a_{p}(p\neq 0)}
1 0 {\displaystyle 0} 1 ! ( 1 ) п + 1 ( н ! ) 2 п ( н п ) ! ( н + п ) ! {\displaystyle {\frac {1!(-1)^{p+1}(n!)^{2}}{p(np)!(n+p)!}}}
2 2 ЧАС н , 2 {\displaystyle -2H_{n,2}} 2 ! ( 1 ) п + 1 ( н ! ) 2 п 2 ( н п ) ! ( н + п ) ! {\displaystyle {\frac {2!(-1)^{p+1}(n!)^{2}}{p^{2}(np)!(n+p)!}}}
3 0 {\displaystyle 0} 3 ! ( 1 ) п + 1 ( н ! ) 2 п 3 ( н п ) ! ( н + п ) ! ( 1 п 2 ЧАС н , 2 ) {\displaystyle {\frac {3!(-1)^{p+1}(n!)^{2}}{p^{3}(np)!(n+p)!}}(1-p^{2}H_{n,2})}
4 12 ( ЧАС н , 2 2 ЧАС н , 4 ) {\displaystyle 12(H_{n,2}^{2}-H_{n,4})} 4 ! ( 1 ) п + 1 ( н ! ) 2 п 4 ( н п ) ! ( н + п ) ! ( 1 п 2 ЧАС н , 2 ) {\displaystyle {\frac {4!(-1)^{p+1}(n!)^{2}}{p^{4}(np)!(n+p)!}}(1-p^{2}H_{n,2})}
5 0 {\displaystyle 0} 5 ! ( 1 ) п + 1 ( н ! ) 2 п 5 ( н п ) ! ( н + п ) ! ( 1 п 2 ЧАС н , 2 + п 4 2 ( ЧАС н , 2 2 ЧАС н , 4 ) ) {\displaystyle {\frac {5!(-1)^{p+1}(n!)^{2}}{p^{5}(np)!(n+p)!}}\left(1-p^{2}H_{n,2}+{\frac {p^{4}}{2}}(H_{n,2}^{2}-H_{n,4})\right)}
6 120 ЧАС н , 2 3 + 360 ЧАС н , 2 ЧАС н , 4 120 ЧАС н , 6 {\displaystyle -120H_{n,2}^{3}+360H_{n,2}H_{n,4}-120H_{n,6}} 6 ! ( 1 ) п + 1 ( н ! ) 2 п 6 ( н п ) ! ( н + п ) ! ( 1 п 2 ЧАС н , 2 + п 4 2 ( ЧАС н , 2 2 ЧАС н , 4 ) ) {\displaystyle {\frac {6!(-1)^{p+1}(n!)^{2}}{p^{6}(np)!(n+p)!}}\left(1-p^{2}H_{n,2}+{\frac {p^{4}}{2}}(H_{n,2}^{2}-H_{n,4})\right)}

где - обобщенные гармонические числа . ЧАС н , м {\displaystyle H_{н,м}}

Конечная разность вперед

В этой таблице содержатся коэффициенты прямых разностей для нескольких порядков точности и с равномерным шагом сетки: [1]

ПроизводныйТочность012345678
11−11       
2−3/22−1/2      
3−11/63−3/21/3     
4−25/124−34/3−1/4    
5−137/605−510/3−5/41/5   
6−49/206−15/220/3−15/46/5−1/6  
211−21      
22−54−1     
335/12−26/319/2−14/311/12    
415/4−77/6107/6−1361/12−5/6   
5203/45−87/5117/4−254/933/2−27/5137/180  
6469/90−223/10879/20−949/1841−201/101019/180−7/10 
31−13−31     
2−5/29−127−3/2    
3−17/471/4−59/249/2−41/47/4   
4−49/829−461/862−307/813−15/8  
5−967/120638/15−3929/40389/3−2545/24268/5−1849/12029/15 
6−801/80349/6−18353/1202391/10−1457/64891/30−561/8527/30−469/240
411−46−41    
23−1426−2411−2   
335/6−31137/2−242/3107/2−1917/6  
428/3−111/2142−1219/6176−185/282/3−7/2 
51069/80−1316/1515289/60−2144/510993/24−4772/152803/20−536/15967/240

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

ф ( х 0 ) 11 6 ф ( х 0 ) + 3 ф ( х + 1 ) 3 2 ф ( х + 2 ) + 1 3 ф ( х + 3 ) час х + О ( час х 3 ) , {\displaystyle \displaystyle f'(x_{0})\approx \displaystyle {\frac {-{\frac {11}{6}}f(x_{0})+3f(x_{+1})-{\frac {3}{2}}f(x_{+2})+{\frac {1}{3}}f(x_{+3})}{h_{x}}}+O\left(h_{x}^{3}\right),}
ф ( х 0 ) 2 ф ( х 0 ) 5 ф ( х + 1 ) + 4 ф ( х + 2 ) ф ( х + 3 ) час х 2 + О ( час х 2 ) , {\displaystyle \displaystyle f''(x_{0})\approx \displaystyle {\frac {2f(x_{0})-5f(x_{+1})+4f(x_{+2})-f(x_{+3})}{h_{x}^{2}}}+O\left(h_{x}^{2}\right),}

в то время как соответствующие обратные приближения задаются как

f ( x 0 ) 11 6 f ( x 0 ) 3 f ( x 1 ) + 3 2 f ( x 2 ) 1 3 f ( x 3 ) h x + O ( h x 3 ) , {\displaystyle \displaystyle f'(x_{0})\approx \displaystyle {\frac {{\frac {11}{6}}f(x_{0})-3f(x_{-1})+{\frac {3}{2}}f(x_{-2})-{\frac {1}{3}}f(x_{-3})}{h_{x}}}+O\left(h_{x}^{3}\right),}
f ( x 0 ) 2 f ( x 0 ) 5 f ( x 1 ) + 4 f ( x 2 ) f ( x 3 ) h x 2 + O ( h x 2 ) , {\displaystyle \displaystyle f''(x_{0})\approx \displaystyle {\frac {2f(x_{0})-5f(x_{-1})+4f(x_{-2})-f(x_{-3})}{h_{x}^{2}}}+O\left(h_{x}^{2}\right),}

Обратная конечная разность

Чтобы получить коэффициенты обратных приближений из коэффициентов прямых, присвойте всем нечетным производным, перечисленным в таблице в предыдущем разделе, противоположный знак, тогда как для четных производных знаки остаются прежними. Следующая таблица иллюстрирует это: [5]

ПроизводныйТочность−8−7−6−5−4−3−2−10
11       −11
2      1/2−23/2
3     −1/33/2−311/6
21      1−21
2     −14−52
31     −13−31
2    3/2−712−95/2
41    1−46−41
2   −211−2426−143

Произвольные точки трафарета

Для произвольных точек трафарета и любой производной порядка до единицы меньшего, чем число точек трафарета, коэффициенты конечной разности могут быть получены путем решения линейных уравнений [6] N {\displaystyle \displaystyle N} s {\displaystyle \displaystyle s} d < N {\displaystyle \displaystyle d<N}

( s 1 0 s N 0 s 1 N 1 s N N 1 ) ( a 1 a N ) = d ! ( δ 0 , d δ i , d δ N 1 , d ) , {\displaystyle {\begin{pmatrix}s_{1}^{0}&\cdots &s_{N}^{0}\\\vdots &\ddots &\vdots \\s_{1}^{N-1}&\cdots &s_{N}^{N-1}\end{pmatrix}}{\begin{pmatrix}a_{1}\\\vdots \\a_{N}\end{pmatrix}}=d!{\begin{pmatrix}\delta _{0,d}\\\vdots \\\delta _{i,d}\\\vdots \\\delta _{N-1,d}\end{pmatrix}},}

где — дельта Кронекера , равная единице, если , и нулю в противном случае. δ i , j {\displaystyle \delta _{i,j}} i = j {\displaystyle i=j}

Пример, для порядка дифференциации : s = [ 3 , 2 , 1 , 0 , 1 ] {\displaystyle s=[-3,-2,-1,0,1]} d = 4 {\displaystyle d=4}

( a 1 a 2 a 3 a 4 a 5 ) = ( 1 1 1 1 1 3 2 1 0 1 9 4 1 0 1 27 8 1 0 1 81 16 1 0 1 ) 1 ( 0 0 0 0 24 ) = ( 1 4 6 4 1 ) . {\displaystyle {\begin{pmatrix}a_{1}\\a_{2}\\a_{3}\\a_{4}\\a_{5}\end{pmatrix}}={\begin{pmatrix}1&1&1&1&1\\-3&-2&-1&0&1\\9&4&1&0&1\\-27&-8&-1&0&1\\81&16&1&0&1\\\end{pmatrix}}^{-1}{\begin{pmatrix}0\\0\\0\\0\\24\end{pmatrix}}={\begin{pmatrix}1\\-4\\6\\-4\\1\end{pmatrix}}.}

Порядок точности аппроксимации принимает обычную форму (или лучшую в случае центральной конечной разности) [ требуется ссылка ] . O ( h x ( N d ) ) {\displaystyle O\left(h_{x}^{(N-d)}\right)}

Смотрите также

Ссылки

  1. ^ ab Fornberg, Bengt (1988), «Генерация формул конечных разностей на сетках с произвольным интервалом», Mathematics of Computation , 51 (184): 699–706, doi : 10.1090/S0025-5718-1988-0935077-0 , ISSN  0025-5718.
  2. ^ "Пакет Python для конечных разностных числовых производных в произвольном числе измерений". GitHub . 14 октября 2021 г.
  3. ^ "scipy.signal.savgol_filter". Документация Scipy Online . 2008–2024.
  4. ^ "Конечные разностные коэффициенты". StackExchange . 5 июня 2023 г.
  5. ^ Тейлор, Кэмерон (12 декабря 2019 г.). «Калькулятор коэффициентов конечных разностей». Массачусетский технологический институт.
  6. ^ «Калькулятор коэффициентов конечных разностей».
Retrieved from "https://en.wikipedia.org/w/index.php?title=Finite_difference_coefficient&oldid=1243042475"