Koeffizienten für Differenzenquotienten

Koeffizienten für Differenzenquotienten bei äquidistanten Stützstellen

Koeffizienten für Differenzenquotienten (englisch Finite difference coefficients) werden in einem Teilgebiet der Mathematik, der Differenzenrechnung, speziell der Finite-Differenzen-Methode, benötigt. Die Ableitung einer 1D-Funktion an einer vorgegebenen Stützstelle (Gitterpunkt) wird durch einen Differenzenquotienten angenähert. Die Koeffizienten treten dabei im Zähler des Differenzenquotienten auf. Es werden Funktionswerte an benachbarten Stützstellen und der Funktionswert an der vorgegebenen Stützstelle einbezogen. Je mehr „Nachbarn“ man berücksichtigt, umso genauer wird im Allgemeinen die Näherung.

Fünf-Punkte-Stützstellenschema (englisch Five-Points stencil) für zentrale Differenzen in 1D mit äquidistantem Stützstellen

In diesem Artikel wird der Fall von äquidistanten Stützstellen behandelt. Berücksichtigt man links und rechts von der vorgegebenen Stützstelle gleich viele benachbarte Stützstellen, spricht man von zentralen Differenzen. In der Grafik ist die rote die vorgegebene Stützstelle, die Nachbarn sind die blauen Punkte. Berücksichtigt man nur benachbarte Stützstellen, deren Abszissenwerte größer sind als die der vorgegebenen Stützstelle, spricht man von Vorwärts-Differenzen. Analog spricht man von Rückwärts-Differenzen, wenn man nur benachbarte Stützstellen einbezieht, deren Abszissenwerte kleiner sind als die der vorgegebenen Stützstelle. Weitere Stützstellenschemata sind möglich, etwa drei linke und ein rechter Nachbar.

Zentrale Differenzen Bearbeiten

Die nachfolgende Tabelle enthält die Koeffizienten der zentralen Differenzen für mehrere Genauigkeitsordnungen bei äquidistanten Stützpunkten:[1]

Ableitung Genauigkeit −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

Beispielsweise erhält man für die dritte Ableitung mit einer Genauigkeit zweiter Ordnung

 

wobei   der konstante Abstand zweier benachbarter Gitterpunkte ist und  .   symbolisiert, dass der Diskretisierungsfehler für kleine   quadratisch mit der Schrittweite fällt.

Für die  -te Ableitung mit der Genauigkeit   gibt es   zentrale Koeffizienten

 .

Diese erhält man, indem man das folgende lineare Gleichungssystem löst:

 

wobei der einzige Nicht-Null-Wert auf der rechten Seite sich in der  -ten Zeile befindet.

Mit dem Open-Source-Programm findiff können Differenzen-Koeffizienten beliebiger Ableitungen und Genauigkeitsordnungen in einer Dimension berechnet werden.[2]

Vorwärts-Differenzen Bearbeiten

 
Fünf-Punkte-Stützstellenschema für Vorwärts-Differenzen

Die nachfolgende Tabelle enthält die Koeffizienten der Vorwärts-Differenzen für mehrere Genauigkeitsordnungen bei äquidistanten Stützpunkten:[1]

Ableitung Genauigkeit 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

Beispielsweise erhält man für die erste Ableitung mit einer Genauigkeit dritter Ordnung und die zweite Ableitung mit einer Genauigkeit zweiter Ordnung

 
 

Rückwärts-Differenzen Bearbeiten

 
Fünf-Punkte-Stützstellenschema für Rückwärts-Differenzen

Die entsprechenden Rückwärtsnäherungen sind gegeben durch

 
 

Um die Koeffizienten der Rückwärts-Näherungen aus denen der Vorwärtsnäherungen zu erhalten, sind für alle ungeraden Ableitungen, die in der Tabelle im vorigen Abschnitt aufgeführt sind, die entgegengesetzten Vorzeichen zu setzen, während für gerade Ableitungen die Vorzeichen gleich bleiben. Die folgende Tabelle veranschaulicht dies:[3]

Ableitung Genauigkeit −8 −7 −6 −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

Weitere Stützstellenschemata Bearbeiten

 
Spezielles Fünf-Punkte-Stützstellenschema für gemischte Differenzen

Für ein beliebiges Stützstellenschema (englisch Stencil, Patterns of grid points[2])  , der Anzahl der Gitterpunkte   und mit Ordnung der Ableitung   können die Differenzenkoeffizienten durch Lösen des folgenden linearen Gleichungssystems erhalten werden:[3]

 

wobei   das Kronecker-Delta symbolisiert, das gleich Eins ist, wenn   ist und Null sonst.

Hier ein Beispiel für  ,   und Ordnung der Ableitung  :

 

Die Ordnung der Genauigkeit der Näherung hat die übliche Form  .

Siehe auch Bearbeiten

Einzelnachweise Bearbeiten

  1. a b Bengt Fornberg: Generation of finite difference formulas on arbitrarily spaced grids. In: Mathematics of Computation. Band 51, Nr. 184, 1988, S. 699–706, doi:10.1090/S0025-5718-1988-0935077-0 (Originalarbeit [PDF; abgerufen am 13. November 2022]).
  2. a b M. Baer: findiff - A Python package for finite difference numerical derivatives in arbitrary number of dimensions. GitHub, abgerufen am 13. November 2022.
  3. a b Cameron Taylor: Finite Difference Coefficients Calculator. MIT, 2016, abgerufen am 13. November 2022.