Według Wolfram Mathematicą: cos (50) = 0,6427876096865394;Math.cos() daje nieprawidłowe Wynik
Ale ten kod w Javie:
System.out.println(Math.cos(50));
daje 0.9649660284921133.
Co jest nie tak z java.lang.Math
?
Według Wolfram Mathematicą: cos (50) = 0,6427876096865394;Math.cos() daje nieprawidłowe Wynik
Ale ten kod w Javie:
System.out.println(Math.cos(50));
daje 0.9649660284921133.
Co jest nie tak z java.lang.Math
?
Math.cos()
oczekuje, że parametr będzie w radianach. To zwróci wynik trzeba:
Math.cos(Math.toRadians(50));
Degrees <> radianów ...........
Co oznacza ta odpowiedź? Stopień jest równoważny radianowi ... ale "1 stopień = 0,0174532925 radianów" – Manu
@Manu "Ale" jest częścią twojego komentarza, dlatego nie są one równoważne;) To tak, jakby powiedzieć, że kilogramy i kamień są równoważne. Mierzą tę samą ilość, oczywiście, ale na różne sposoby. – phant0m
Math.cos()
używa radiany, tak aby uzyskać planowanej spowodować trzeba zrobić
System.out.println(Math.cos(Math.toRadians(50)));
Większość funkcji trygonometrycznych Java oczekuje, że parametry będą w radianach. Można użyć Math.toRadians() w celu konwersji:
System.out.println(Math.cos(Math.toRadians(50)));
Dla mnie ...
System.out.println(Math.cos(50));
System.out.println(Math.cos(new Double(50)));
System.out.println(Math.cos(Math.toRadians(50)));
System.out.println(Math.cos(Math.toRadians(new Double(50))));
powraca
0,9649660284921133
0,9649660284921133
0,6427876096865394
0,6427876096865394
http://www.wolframalpha.com/input/?i=cos%2850deg%29
cos(50deg)
daje taki sam wynik jak cos(50)
... więc Wolfram jest stopień domyślnie.
Wolfram Alpha domyślnie nie używa stopni! Raczej próbuje być sprytny. – phant0m
Co to jest domyślny wolfram alfa, stopień lub radian lub ...? Czy jest inna baza? Czy możesz podać więcej argumentów na temat tego, co piszesz? Twój komentarz nie podaje żadnych informacji w rzeczywistości! Moja odpowiedź nie odpowiada na początkowe pytanie, więc ok dla flagi "-1", ale wydaje mi się, że przydaje się więcej informacji na temat tej rozmowy. – Manu
Wolfram Alpha próbuje odgadnąć, czy twoje dane wejściowe są w radianach czy stopniach: jeśli wartość jest mniejsza niż 5, wydaje się, że interpretuje ją jako radian, jeśli jest większa lub równa 5, interpretuje ją jako stopnie;) Zrobiłem wolność aby poprawić wyjście, które Java faktycznie tworzy po wykonaniu tego kodu. – phant0m
+1. Tylko dla odniesienia, jak OP mówił o wolfram http://www.wolframalpha.com/input/?i=cos%2850rad%29 –
Czy istnieje wersja Math.cos() w Javie, która współpracuje z Degrees, lub musimy stale pamiętać, aby ręcznie konwertować stopnie na radiany? –