Frage

Es fällt mir schwer zu verstehen, warum es sinnvoll wäre, die Taylor-Reihe für eine Funktion zu verwenden, um eine Annäherung an eine Funktion zu erhalten, anstatt beim Programmieren nur die Funktion selbst zu verwenden.Wenn ich meinen Computer anweisen kann, e^(.1) zu berechnen, und er mir einen genauen Wert liefert, warum sollte ich dann stattdessen einen Näherungswert verwenden?

War es hilfreich?

Lösung

Taylor-Reihen werden im Allgemeinen nicht zur Approximation von Funktionen verwendet.Normalerweise wird eine Form eines Minimax-Polynoms verwendet.

Taylor-Reihen konvergieren langsam (es sind viele Terme erforderlich, um die gewünschte Genauigkeit zu erreichen) und sind ineffizient (sie sind in der Nähe des Punkts, um den sie zentriert sind, genauer und entfernt davon weniger genau).Taylor-Reihen werden wahrscheinlich am häufigsten im Mathematikunterricht und bei Hausarbeiten verwendet, wo sie zur Untersuchung der Eigenschaften von Funktionen und zum Erlernen der Analysis nützlich sind.

Zur Approximation von Funktionen werden häufig Minimax-Polynome verwendet.Ein Minimax-Polynom hat den minimal möglichen maximalen Fehler für eine bestimmte Situation (Intervall, über den eine Funktion angenähert werden soll, für das Polynom verfügbarer Grad).Normalerweise gibt es keine analytische Lösung zum Finden eines Minimax-Polynoms.Sie werden numerisch gefunden, indem man die verwendet Remez-Algorithmus.Minimax-Polynome können an bestimmte Anforderungen angepasst werden, z. B. zur Minimierung des relativen oder absoluten Fehlers, zur Approximation einer Funktion über ein bestimmtes Intervall usw.Minimax-Polynome benötigen weniger Terme als Taylor-Reihen, um akzeptable Ergebnisse zu erzielen, und sie „verteilen“ den Fehler über das Intervall, anstatt in der Mitte besser und an den Enden schlechter zu sein.

Wenn Sie anrufen exp Funktion zur Berechnung von eX, verwenden Sie wahrscheinlich ein Minimax-Polynom, da jemand die Arbeit für Sie erledigt und eine Bibliotheksroutine erstellt hat, die das Polynom auswertet.Die einzigen arithmetischen Computerprozessoren sind meist Addition, Subtraktion, Multiplikation und Division.Aus diesen Operationen müssen also andere Funktionen konstruiert werden.Mit den ersten drei erhalten Sie Polynome, und Polynome reichen aus, um viele Funktionen wie Sinus, Kosinus, Logarithmus und Potenzierung anzunähern (mit einigen zusätzlichen Operationen zum Verschieben von Dingen in das Exponentenfeld von Gleitkommawerten und aus diesem heraus).Die Division fügt rationale Funktionen hinzu, was für Funktionen wie den Arkustangens nützlich ist.

Andere Tipps

aus zwei Gründen. In erster Linie können die meisten Prozessoren keine Hardware-Implementierungen von komplexen Operationen wie Exponentials, Logarithmen usw. verfügen für dich.

Zweiter, Sie haben möglicherweise eine Funktion, die nicht einmal die Sprache unterstützt.

Ich wollte kürzlich Nachschlagetabellen mit Interpolation verwenden, um einen Winkel zu erhalten, und berechnen Sie dann die SIN () und COS () dieses Winkels. Mühe ist, dass es sich um ein DSP ohne Fließkomma handelt, und keine trigonometrischen Funktionen, so dass diese beiden Funktionen wirklich langsam sind (Software-Implementierung). Stattdessen lege ich Sünde (X) in den Tisch anstelle von X und benutzte dann die Taylor-Serie für y= sqrt (1-× * x), um das cos (x) davon zu berechnen. Diese Taylor-Serie ist genau über dem von mir benötigten Sortiment, den ich mit nur 5 Begriffen benötigte p>

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top