Функция numpy.sin в градусах?

Я работаю над проблемой, которая связана с вычислением углов преломления, а что нет. Однако кажется, что я не могу использовать функцию numpy.sin() в градусах. Я попытался использовать numpy.degrees() и numpy.rad2deg().

numpy.sin(90)

numpy.degrees(numpy.sin(90))

Оба возвращают ~ 0.894 и ~ 51.2 соответственно.

Спасибо за вашу помощь.

Ответы

Ответ 1

Вы не хотите конвертировать в градусы, потому что у вас уже есть свой номер (90) в градусах. Вам нужно преобразовать 90 градусов в радианы, и вам нужно сделать это, прежде чем принимать синус:

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

(Вы можете использовать либо deg2rad, либо radians.)

Ответ 2

Используйте модуль math из стандартной библиотеки Python:

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