Gibt es eine stabilere Implementierung für die Kotangens-Funktion als Return 1.0/tan (x) ;?Stabiler Cotangent
Antwort
cot(x) = cos(x)/sin(x)
sollte in der Nähe von π/2 numerisch stabiler sein als cot(x) = 1/tan(x)
. Sie können das effizient implementieren, indem Sie sincos
auf Plattformen verwenden, die es haben.
Eine andere Möglichkeit ist cot(x) = tan(M_PI_2 - x)
. Dies sollte schneller als die oben genannten sein (auch wenn sincos
verfügbar ist), aber es kann auch weniger genau sein, weil M_PI_2
natürlich nur eine Annäherung der transzendenten Zahl π/2 ist, so dass der Unterschied M_PI_2 - x
nicht vollständig sein wird Breite einer double
Mantisse - in der Tat, wenn Sie Pech haben, kann es nur ein paar sinnvolle Bits haben.
Ok. Ich denke, das ist das Beste, was ich tun kann. Auch ich habe von Sincos erfahren, was ich zugeben muss, dass ich noch nie zuvor getroffen hatte! –
Ich erinnere mich nur an eine trigonale Identität, mit der Sie viel besser machen und meine Antwort bearbeiten können. – zwol
+1. Verwenden Sie auf jeden Fall tan (pi/2 - x). –
- 1. Stabiler Akkumulator in MATLAB
- 2. Stabiler zufälliger Farbalgorithmus
- 3. Stabiler Classloader für Akkatests in SBT
- 4. Rubin 1.9.1-P234, Passagier 2.2.5, Rails 2.3 stabiler Strom
- 5. Making Excel-Makro für das Scannen von Dateien stabiler
- 6. größere Sobel Operatoren sind stabiler in Lärm. Warum?
- 7. Gibt es etwas wie die Google Safe Browsing-API, die stabiler ist?
- 8. Welcher ist schneller/stabiler: Invertierung der Matrix oder Lösung von drei linearen Gleichungssystemen mit mehreren rechten Seiten?
- 9. Kann eine Node.js-Anwendung eine Verbindung zu Bluetooth auf Android herstellen?
- 10. Kann ich InnoDB- und MyISAM-Tabellen in der ONE-Datenbank verwenden?
- 11. Was ist die Notwendigkeit, nur einen stabilen Sortieralgorithmus für die Radix-Sortierung zu verwenden?
- 12. Artisan fresh command
- 13. Ist es möglich, ".NET Framework 4.0" [Beta] -Apps mit Visual Studio 2008 zu entwickeln?
- 14. Indy oder ICS oder?
- 15. CircleCI ignoriert Knoten Version in circle.yml
- 16. Gibt es eine legitime, automatisierte Methode zum Bereitstellen von Java-Anwendungen auf iOS4?
- 17. Upgrade auf ASP.NET 4 Framework
- 18. Quicksort Algorithmus Stabilität
- 19. Wie kann die Identity.GetUserId() gemacht werden, um eine Guid anstelle einer Zeichenfolge zurückzugeben?
- 20. Unicode-Bibliothek zum Erstellen/Analysieren von JSON-Dokumenten (C++)
- 21. am häufigsten verwendete Python-Web-App-Bereitstellung Stil
- 22. So implementieren Sie Benutzerauthentifizierung in Phoenix
- 23. Visual Studio 2010 vs 2012 Kompilierzeit Leistungs-und Stabilitätsvergleich für C++ Benutzer
- 24. Download-/Upload-Geschwindigkeit berechnen
- 25. Algo für eine stabilen 'Download-Zeit-verbleibende' in einem Download-Fenster
- 26. Was ist der Unterschied zwischen Cholesky in numpy und scipy?
- 27. Was ist die stabilste modale Dialogimplementierung in allen Browsern, die von JavaScript für eine Webanwendung verwendet werden?
- 28. Sind Github-Edelsteine weniger stabil als Ruby-Forge-Edelsteine?
- 29. Speicherzuordnung Verhalten mit Java 1.8 in Tomcat 6 und Tomcat 8
- 30. Elastix 4 WebRTC Integrationsprobleme
Ich nehme an, Sie haben ein Problem mit 1/tan ist, dass es bei Pi/2 undefiniert ist, wenn die Funktion Null zurückgeben soll? – MerickOWA
Doing die Inversion ist zweifelhaft, wenn in der Nähe von Pi/2 Ja ... Ich fragte mich, ob es einen besseren Weg, dies zu tun wäre. –