Les mathématiques.cos() donne le mauvais résultat
Selon Wolfram Mathematica:
cos(50) = 0.6427876096865394;
Mais ce code en Java:
System.out.println(Math.cos(50));
donne 0.9649660284921133.
Quel est le problème avec java.lang.Math
?
Vous devez vous connecter pour publier un commentaire.
Math.cos()
attend le paramètre d'être en radians. Ce sera le retour de la suite vous avez besoin:Math.cos()
utilise radians, de sorte à obtenir le résultat escompté, vous devez fairePlus Java fonctions trigonométriques attend de paramètres pour être en radians. Vous pouvez utiliser les Mathématiques.toRadians() pour convertir:
Degrés <> radians...........
1 degree = 0.0174532925 radians
but
partie de votre commentaire est pourquoi ils ne sont pas équivalents 😉 C'est comme dire kilos et pierre sont équivalentes. Ils mesurent la même quantité, bien sûr, mais de manière différente.Pour moi...
retourne
0.9649660284921133
0.9649660284921133
0.6427876096865394
0.6427876096865394
http://www.wolframalpha.com/input/?i=cos%2850deg%29
cos(50deg)
donner le même résultat quecos(50)
... donc Wolfram est le degré par défaut.-1
est principalement pour cette raison:I don't know exactly what the meaning of these results but for me...
, hormis qu'il ne soit pas une réponse adéquate à la question. Compte tenu de votre code, vous semblez essayer de deviner ce qui se passe, au lieu d'avoir une compréhension pour elle. Ceci est démontré par ce:Math.cos(Math.toDegrees(50))
Vous nourrissez une fonction qui attend radians la valeur que vous obtenez après la conversion de 50 radians en degrés, une valeur qui est complètement aléatoire.new Double(50)
serveurs ne sert à rien.