Numerische Differentiation

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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.

Derivative.svg

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