2013-10-17 13 views
5

Ich bemerkte, dass MATLAB eine sin() und sind() Funktionen hat. Ich habe gelernt, dass sin() akzeptiert den Winkel im Bogenmaß und sind() akzeptiert den Winkel in Grad. Der einzige Unterschied, den ich weiß, ist, sind(180) gibt 0, aber sin(pi) nicht:MATLAB sin() vs sind()

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

Was mich verwirrt ist, ob es irgendwelche Szenarien oder Leitlinien ist zwischen der Verwendung von sin() oder sind() zu wählen?

+3

möglich Duplikat [Gibt es einen triftigen Grund, warum Radianten in vielen modernen Sprachen als Eingabe für die Triggerfunktion verwendet werden?] (Http://stackoverflow.com/questions/5147235/is-there-any-valid-reason-radians-are-used- as-the-inputs-to-trig-function-in-man) – marsei

+1

@Magla Ich glaube nicht, dass dies ein Duplikat ist: Die Fragen hängen eng zusammen, sind aber nicht gleich. Frage ist hier von praktischer Natur. – Shai

+0

Barney, bitte akzeptieren Sie die Antwort. Dies wird die Frage aus der unbeantworteten Liste verschwinden lassen. – tvo

Antwort

10

Aus der Dokumentation von sind:

Für ganze Zahlen n, sind(n*180) ist genau Null, während sin(n*pi) die Genauigkeit der Gleitkommawert pi widerspiegelt.

Also, wenn Sie extrem beunruhigt die Tatsache, dass sin(pi) nicht precisly Null, gehen Sie voran und verwenden sind, aber es ist nur ein Wrap-around sin, so dass Sie tatsächlich fügen Sie ein tini-tiny in der Praxis bisschen Overhead.

Ich persönlich ziehe die Eleganz von Radiant und sin verwenden.

+1

Ich fürchte, dass Kinder, die MATLAB in der Highschool benutzen, den Abschluss nicht überleben werden. –

+1

@EitanT Ich fürchte, dass Kinder, die dgres anstelle von Radianten verwenden, den Abschluss nicht überleben werden ...;) – Shai

+0

Warum so viel Hass auf den Grad? In einigen Anwendungen sind Grade die Norm und sinnvoller als Radianten. Ich bin mir nicht sicher, warum Sie das Bedürfnis verspüren, die Intelligenz von jemandem zu beleidigen, der den Sinus von 8 Grad anstatt von 2 * Pi/45 Radian berechnet. – nispio

-2

für Ergebnisse in Radiant Erhalten Sie Symbolic Math Toolbox installieren können, die in Matlab Installation Quelle Syntax sin (sym (char)) Beispiel sin (sym ('pi')) zur Verfügung

+0

Dies ist keine Antwort auf die Frage. – tvo