In der Numerischen Mathematik bezeichnet man mit numerischer Differentiation die näherungsweise Berechnung der Ableitung aus gegebenen Funktionswerten, meist mittels eines Differenzenquotienten. Dies ist nötig, falls die Ableitungsfunktion nicht gegeben ist oder die Funktion selbst nur indirekt, beispielsweise über Messwerte, zur Verfügung steht. Im Gegensatz dazu wird beim automatischen Differenzieren der Code, der die betrachtete Funktion definiert, um eine Ableitungsfunktion erweitert.

Alternativ kann man auch differenzierbare Approximationen von Funktionen wie zum Beispiel kubische Smoothing Splines verwenden. Ist man nicht am gesamten Funktionsverlauf, sondern nur an einzelnen Stellen interessiert, so existieren spezielle Formeln.

Differenzenquotient

Bearbeiten
 
Fehlerverhalten der numerischen Differentiation, für kleine h ist der Fehler aufgrund von Auslöschung groß, während der Fehler bei größeren h (wo die Maschinengenauigkeit ausreicht) linear wächst.

Ein naheliegender Ansatz ist die Verwendung des Vorwärtsdifferenzenquotienten:

 .

  beschreibt, dass der Fehler linear mit der Schrittweite   anwächst. Für weitere Details der  -Notation siehe Landau-Symbole. Ist der Abstand (h) der Funktionswerte gering, so wäre bei beliebig genauer Rechnung die Näherung zunächst besser. Allerdings tritt bei der Berechnung mittels Gleitkommazahlen Auslöschung auf, weswegen das gewählte h von der Maschinengenauigkeit abhängige Schranken nicht unterschreiten darf.

Eine bessere Näherung als den Vorwärtsdifferenzenquotient erhält man durch Verwendung des zentralen Differenzenquotienten:

 

Für den zentralen Differenzenquotienten ist die optimale Schrittweite   in der Größenordnung der dritten Wurzel der Maschinengenauigkeit[1].

Unter Benutzung von Taylorreihenentwicklungen höherer Ordnung lassen sich Finite-Differenzenquotienten mit kleinerem Fehlerterm herleiten, wenn  :

 

Numerische Differentiation unter Verwendung komplexer Variable

Bearbeiten

Ein Problem bei der Anwendung eines klassischen Differenzenquotienten ist die Wahl einer optimalen Schrittweite  . Ein zu großes   führt zu Rundungsfehlern, während ein zu kleines   zu Auslöschung führt. Die numerische Auslöschung infolge der Subtraktion kann durch die komplexwertige Approximation

 

verhindert werden.[2]

Herleitung

Bearbeiten

Wir betrachten die Taylorreihe von   am Entwicklungspunkt  

 

Abbruch nach dem linearen Glied und Umstellung nach   liefert den oben genannten Vorwärtsdifferenzenquotienten. Wir ersetzen nun die reelle Schrittweite   durch die imaginäre Schrittweite   und erhalten

 

Betrachten wir nun nur den Imaginäranteil dieser Taylorreihe, so erhalten wir

 

was bei Abbruch nach dem linearen Glied auf die oben angegebene Näherung der Ableitung mit dem Fehler   führt.

Numerische Differentiation verrauschter Daten

Bearbeiten

In praktischer Anwendung sind die Funktionswerte oft verrauscht. Das einfache Anwenden finiter Differenzenmethoden auf verrauschte Daten führt dazu, dass die erhaltene numerische Ableitung starke Ausreißer hat. Es gibt für verrauschte Daten spezielle Methoden um die Ableitung dennoch zuverlässig zu berechnen, beispielsweise kann die Datenreihe zunächst geglättet werden oder eine approximierende Funktion durch Ausgleichungsrechnung gefunden werden und anschließend die numerische Differentiation durchgeführt werden[3]. Bei der Kantendetektion werden beispielsweise Sobel-Operatoren verwendet, die gleichzeitig eine Glättung durchführen. Eine weitere Möglichkeit bietet die Verwendung von geglätteten Splines (auch Ausgleichssplines).

Literatur

Bearbeiten
  • Hans Rudolf Schwarz: Numerische Mathematik. 4., überarbeitete und erweiterte Auflage. B. G. Teubner, Stuttgart 1997, ISBN 3-519-32960-3.
  • Martin Hanke-Bourgeois: Grundlagen der numerischen Mathematik und des wissenschaftlichen Rechnens. B. G. Teubner, Stuttgart u. a. 2002, ISBN 3-519-00356-2.
  • Martin Hermann: Numerische Mathematik, Band 2: Analytische Probleme. 4., überarbeitete und erweiterte Auflage. Walter de Gruyter Verlag, Berlin und Boston 2020. ISBN 978-3-11-065765-4.

Einzelnachweise

Bearbeiten
  1. Tim Sauer: Numerical analysis. Third edition Auflage. [Hoboken, New Jersey] 2018, ISBN 978-0-13-469645-4, S. 248.
  2. W. Squire, G. Trapp (1998) Using Complex Variables to Estimate Derivatives of Real Function, SIAM Rev., 40(1):110-112. doi:10.1137/S003614459631241X
  3. Karsten Ahnert, Markus Abel: Numerical differentiation of experimental data: local versus global methods. In: Computer Physics Communications. Band 177, Nr. 10, November 2007, ISSN 0010-4655, S. 764–774, doi:10.1016/j.cpc.2007.03.009.