Python: convertir des radians en degrés
Dans le python.org bibliothèque de mathématiques, je n'ai pu trouver math.cos(x)
, avec cos/sin/tan/acos/asin/atan. Ceci renvoie à la réponse en radians. Comment puis-je obtenir la réponse en degrés?
Voici mon code:
import math
x = math.cos(1)
y = x * 180 / math.pi
print y
30.9570417874
Ma calculatrice, sur deg, me donne:
cos(1)
0.9998476...
- Vous avez des choses en arrière,
cos
prend un angle en entrée, pas de sortie. - Rançon Comment cela fait-il sens?
- Marque est correct. La fonction cos fonctionne sur un angle que l'entrée,
1
dans votre exemple. Sur votre calculatrice, cet angle est en degrés, en Python, cet angle doit être donnée en radians. La valeur de retour,x
dans votre exemple, est un nombre sans dimension. Sur votre calculatrice, vous avez calculé le cos de 1 degré. Dans votre exemple Python, vous avez calculé le cos de 1 radian, ce qui est équivalent à 57.296 degrés. cos
prend un angle en entrée et produit un rapport en sortie. En essayant de convertir la sortie de degrés comme vous l'avez fait dans votre exemple n'a pas de sens du tout. Vous avez besoin de convertir l'entrée1
de degrés en radians à la place. Si vous avez été en utilisantacos
il serait dans l'autre sens, l'entrée est un ratio et la sortie est en radians.
Vous devez vous connecter pour publier un commentaire.
Python comprend deux fonctions dans le
math
paquet;radians
convertit les degrés en radians, etdegrees
convertit des radians en degrés.Pour correspondre à la sortie de votre calculatrice, vous devez:
Noter que toutes les fonctions trigonométriques convertir entre un angle et le rapport de deux côtés d'un triangle. cos, sin et tan prendre un angle en radians comme entrée et retour le ratio; acos, asin, et atan prendre un ratio d'entrée et de retour d'un angle en radians. Vous de convertir les angles, jamais les ratios.
numpy
ont également des fonctions pour convertir des tableaux entiers en une seule fois. Il a également sous le plus de noms explicitesrad2deg
etdeg2rad
.Python convertir des radians en degrés ou en degrés en radians:
Quels sont les Radians et quel problème est-il de résoudre?:
Radians et les degrés sont de deux unités de mesure qui aident à exprimer et à communiquer précis des changements de direction. Wikipedia a une grande intuition et de leurs infographies sur la façon dont un Radian est défini par rapport à des degrés:
https://en.wikipedia.org/wiki/Radian
Python exemples à l'aide de bibliothèques de calcul des degrés de radians:
Python exemples à l'aide de bibliothèques de calcul de degrés en radians:
Source: https://docs.python.org/3/library/math.html#angular-conversion
La notation mathématique:
Vous pouvez faire de degré/radian de conversion, sans bibliothèques:
Si vous roulez votre propre degré/radian convertisseur, vous devez écrire votre propre code pour gérer les cas de bord.
Erreurs ici sont faciles à faire, et va faire mal comme ça fait mal les développeurs de l'1999 mars orbiter qui a coulé 125 millions de dollars s'écraser en Mars en raison de la non intuitive edge cas ici.
Permet de crash que orbiteur et Rouleau de notre propre Radians en Degrés:
Invalide radians comme entrée de retour d'ordures de sortie.
Degrés en radians:
Exprimant plusieurs rotations avec les degrés et les radians
Rotation unique valable radian valeurs sont entre 0 et 2*pi. Seule la rotation de degré valeurs sont entre 0 et 360. Toutefois, si vous voulez exprimer des rotations multiples, valable radian et le degré des valeurs entre 0 et l'infini.
L'effondrement des rotations multiples:
Vous pouvez effondrement de plusieurs degré/radian rotations en une seule rotation par modding sur la valeur d'une rotation. Pour les diplômes que vous mod par 360, pour radians vous module par 2*pi.
Protip
Khan academy a de l'excellent contenu pour solidifier l'intuition autour de la trigonométrie et angulaire mathématiques: https://www.khanacademy.org/math/algebra2/trig-functions/intro-to-radians-alg2/v/introduction-to-radians
Vous pouvez simplement convertir votre radian résultat de degré en utilisant
les mathématiques.degrés et l'arrondi de manière appropriée à la décimale
par exemple
math.cos(math.radians(1))
ValueError: math domain error
pour valide radian valeurs.radian peut également être converti en degré par l'utilisation de numpy
si nécessaire à d'arrondi ( je l'ai fait avec 6 chiffres après la virgule), puis d'
J'aime aussi définir mes propres fonctions et de retourner les arguments en degrés plutôt que de radians. Je suis sûr qu'il y a quelques capitalisation la plus pure qui n'aime pas mon nom, mais je n'en utiliser qu'un capital de première lettre de mes fonctions personnalisées. Les définitions et les tests de code sont ci-dessous.
Remarque que j'ai importé des mathématiques (ou numpy) dans l'espace de noms avec
Noter également, que mes fonctions sont dans l'espace de noms dans lequel elles ont été définies. Par exemple,
n'existe pas.
-fix-
parce que vous voulez changer de radians en degrés, il est en fait
rad=deg * math.pi /180
et pas deg*180/math.pi
en 1 ligne, il peut être comme ça