Schrittweitensteuerung
Schrittweitensteuerung ist eine Technik, die in der numerischen Mathematik bei Algorithmen angewendet werden kann, die ein kontinuierliches Problem durch Diskretisierung in einzelne Schritte lösen.
Verschiedene Problemklassen führen auf die Aufgabe eine Kurve für ein gewisses -Intervall in zu konstruieren. Dazu gehören die Lösung eines Anfangswertproblems für gewöhnliche Differentialgleichungen und die Verfolgung einer Lösungskurve nichtlinearerer Gleichungssysteme mit Homotopieverfahren. Solche Probleme werden in der numerischen Mathematik oft mit Verfahren gelöst, die die Lösung nur schrittweise an einzelnen Punkten berechnen, also Näherungen , wobei als Anfangswert bekannt ist. Die verwendeten Schrittweiten nennt man . Typischerweise ist der Rechenaufwand für einen einzelnen Schritt i.w. konstant und der Fehler hängt ab von einer Potenz der Schrittweite, er hat die Form . Man steht dann vor der Frage, wie groß die Schrittweiten zu wählen sind, um eine gewünschte Genauigkeit insgesamt zu erreichen. Dabei ist zu beachten, dass die Vorfaktoren von der unbekannten Lösungskurve abhängen, insbesondere von ihren Ableitungen , die Größenordnung dieser Vorfaktoren kann daher stark schwanken. Daher verwendet man bei modernen Algorithmen keine konstante Schrittweite . Die wichtigsten Argumente für eine Schrittweitensteuerung sind
- aus Effizienzgründen ist es sinnvoll bei kleinen Werten mit großen Schrittweiten und bei großen Werten mit kleinen zu arbeiten, um einen gleichmäßig kleinen Gesamtfehler mit möglichst wenigen Schritten zu erreichen.
- eine feste Schrittweite müsste sich nach der ungünstigsten Stelle mit dem größten richten und man würde in weniger kritischen Bereichen viel zu viele Schritte machen, was bei Anfangswertproblemen auch zu großen Rundungsfehlern in der Lösung führen kann.
- Schrittweitensteuerung ermöglicht die Programmierung automatischer, selbststeuernder Algorithmen.