2013-10-17 25 views
5

我注意到MATLAB有一個sin()sind()函數。 我瞭解到sin()接受以弧度表示的角度,而sind()接受以度數表示的角度。 我所知道的唯一的區別是sind(180)給出0,但sin(pi)不會:MATLAB sin()vs sind()

>> sin(pi) 
ans = 
    1.2246e-016 
>> sind(180) 
ans = 
    0 

什麼博格爾斯我是,是否有任何方案或指導使用sin()sind()之間進行選擇?

+3

的可能重複使用[是否有任何有效的原因將弧度用作許多現代語言中的觸發函數的輸入?](http://stackoverflow.com/questions/5147235/is-there-any-valid-reason-radians-are-used- as-the-inputs-to-trig-function-in-man) – marsei

+1

@Magla我不覺得這是一個重複的情況:問題強烈相關但不相同。這裏的問題具有實用性。 – Shai

+0

巴尼,請接受答案。這將使問題從未答覆的列表中消失。 – tvo

回答

10

sind文檔:

對於整數nsind(n*180)是完全爲零,而sin(n*pi) 反映pi浮點值的精度。

所以,如果你是與事實極其不安的是,sin(pi)precisly零,繼續使用sind,但實際上它只是一個環繞sin所以你實際上添加TINI纖巧一點點的開銷。

個人而言,我更喜歡弧度的優雅和使用sin

+1

我擔心在高中使用MATLAB的孩子將無法繼續畢業。 –

+1

@EitanT我擔心使用dgrees代替弧度的孩子將無法繼續畢業...;) – Shai

+0

爲什麼如此仇恨學位?在某些應用中,度數是標準,比弧度更有意義。我不知道爲什麼你覺得有必要侮辱計算8度正弦而不是2 *π/ 45弧度的人的智慧。 – nispio

-2

獲得結果的弧度,你可以安裝符號數學工具箱是Matlab中的安裝源 語法 罪(符號(字符)) 例如 罪(符號(「PI」))

+0

這不是問題的答案。 – tvo