2015-01-21 34 views
14

Pracuję nad problemem, który ma związek z obliczaniem kątów załamania światła, a co nie. Jednak wydaje się, że nie mogę używać funkcji numpy.sin() w stopniach. Próbowałem użyć numpy.degrees() i numpy.rad2deg().funkcja numpy.sin w stopniach?

numpy.sin(90) 

numpy.degrees(numpy.sin(90)) 

Oba zwroty odpowiednio ~ 0,894 i ~ 51,2.

Dzięki za pomoc.

Odpowiedz

28

Nie chcesz konwertować na stopni, ponieważ masz już swój numer (90) w stopniach. Trzeba konwertować 90 z stopni na radiany i trzeba to zrobić przed wziąć sinus:

>>> np.sin(np.deg2rad(90)) 
1.0 

(można użyć deg2rad lub radians.)

+0

Wielkie dzięki! Doceniam to. –

5

Użyj math moduł ze standardowej biblioteki Python:

>>> math.sin(math.radians(90)) 
+0

Jak to jest Danill? –

+1

Jednym z problemów jest to, że nie jest wektoryzowany, podczas gdy powyższy numpy jest. Ale to sprowadza się do tego, czy używasz numpy czy nie ... –

+0

Co masz na myśli wektoryzacji? Oba zwracają tę samą liczbę. –