Stable Cotangente
Est-il plus stable de la mise en œuvre de la cotangente de la fonction de retour 1.0/tan(x);?
- Je suppose que vous êtes problème avec 1/tan est que ses pas défini à pi/2 lorsque la fonction de retour à zéro?
- Faire l'inversion est douteux quand près de pi/2 oui... je me demandais si il y avait une meilleure façon de le faire.
Vous devez vous connecter pour publier un commentaire.
cot(x) = cos(x)/sin(x)
devrait être plus numériquement stable à proximité de π/2 quecot(x) = 1/tan(x)
. Vous pouvez mettre en œuvre de façon efficace à l'aide desincos
sur les plates-formes qui ont.Une autre possibilité est
cot(x) = tan(M_PI_2 - x)
. Cela devrait être plus rapide que le dessus (même sisincos
est disponible), mais il peut également être moins précis, carM_PI_2
est évidemment qu'une approximation de la transcendance du nombre π/2, de sorte que la différenceM_PI_2 - x
ne sera pas précis à la largeur d'unedouble
mantisse -- en fait, si vous êtes malchanceux, il peut n'avoir que quelques bits significatifs.