2015-01-21 24 views
14

Tôi đang làm việc trên một vấn đề mà phải làm với tính toán góc khúc xạ và những gì không. Tuy nhiên, có vẻ như tôi không thể sử dụng hàm numpy.sin() theo độ. Tôi đã cố gắng sử dụng numpy.degrees() và numpy.rad2deg().Chức năng numpy.sin theo độ?

numpy.sin(90) 

numpy.degrees(numpy.sin(90)) 

Cả hai trở về ~ 0.894 và ~ 51.2 tương ứng.

Cảm ơn sự giúp đỡ của bạn.

Trả lời

28

Bạn không muốn chuyển đổi thành độ, vì bạn đã có số của mình (90) theo độ. Bạn cần phải chuyển đổi 90 từ độ để radian, và bạn cần phải làm điều đó trước bạn dành sin:

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

(Bạn có thể sử dụng một trong hai deg2rad hoặc radians.)

+0

Cảm ơn rất nhiều! Tôi đánh giá cao nó. –

5

Sử dụng math mô-đun từ thư viện Python chuẩn:

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

Danill này như thế nào? –

+1

Một vấn đề sẽ là nó không được vector hóa trong khi giải pháp numpy ở trên là. Nhưng, điều đó xảy ra nếu bạn đang sử dụng một cách sần sùi hay không ... –

+0

Bạn có ý nghĩa gì về vectơ? Cả hai đều trả về cùng một số. –

Các vấn đề liên quan