Wenn zylindrischen Harmonischen Auswertung eines trigonometrischen Funktionen Bedürfnisse bewerten und sin ( m θ ) , was möglicherweise für große ganze Zahl m und θ ∈ [ - π , π ] . Was ist der beste Weg, dies in C-Code zu tun? Derzeit bewerte ich nur unter dem Winkel m & thgr;, aber ich würde vermuten, dass Standardbibliotheken bei großen Argumenten an Genauigkeit verlieren. Ich habe überlegt, Doppelwinkelformeln und dergleichen zu verwenden, um die Größe der Argumente rekursiv zu reduzieren, aber ich frage mich, ob dies letztendlich zu mehr Fehlern führt.
quelle
Ich bin schon einmal auf ein ähnliches Problem gestoßen, habe mir aber mehr Sorgen um Geschwindigkeit als um Genauigkeit gemacht (siehe Artikel hier ). Wenn Ihr Winkel das Ergebnis eines Arccos ( ⋅ ) ist , was bei geometrischen Berechnungen häufig der Fall ist, können Sie Chebyshev-Polynome verwenden , die wie folgt definiert sindϑ arccos(⋅)
und kann schnell und stabil unter Verwendung der Drei-Term-Wiederholungsrelation bewertet werden
quelle
Die Wiederholung (praktisch dieselbe wie in Beispiel 4 in Bulirsch / Stoer, siehe für eine detaillierte Analyse) verläuft wie folgt:
wo wir die vorberechneten Konstanten haben
quelle