Koeffizienten für Differenzenquotienten

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Fünf-Punkte-Stützstellenschema (englisch Five-Points stencil) für zentrale Differenzen in 1D mit äquidistantem 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.

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 | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext 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 .

Einzelnachweise

[Bearbeiten | Quelltext 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.