Anhang C. Von FunkyPlot verwendete numerische Verfahren

Da ich ab und zu gefragt werde, welche numerischen Verfahren in FunkyPlot Anwendung finden (insbesondere von Programmierern, die selbst einen Funktionenplotter schreiben wollen), stelle ich diese mal kurz vor.

C.1. Nullstellenberechnung

Für die Nullstellen mit Vorzeichenwechsel kommt das Newton-Verfahren zu Anwendung. Zunächst wird dazu eine naive Wertetabelle (1 Funktionswert pro Pixel) erstellt und diese nach benachbarten Funktionswerten mit unterschiedlichem Vorzeichen durchsucht. Die linke Stelle wird dann als Startwert für die Newton-Iteration genommen.

Die Nullstellen ohne Vorzeichenwechsel (z.B. Extrema, die auf der x-Achse liegen) werden mit derselben Wertetabelle wie oben gefunden. Diese wird nach drei benachbarten Stellen durchsucht, bei denen ein Wechsel der Monotonie herrscht (mit anderen Worten: Bei denen der mittlere Funktionswert höher oder tiefer als die beiden benachbarten Funktionswerte liegt). Diese naive Suche nach Kandidaten ist mit numerisch geringem Aufwand verbunden. Wurde ein solches Tripel gefunden, wird versucht, den Funktionswert an der mittleren Stelle durch leichte links/rechts Verschiebungen weiter in Richtung der x-Achse zu verschieben. Kommt er der Achse genügend Nahe, wird eine Nullstelle erkannt.