2017-08-20 2 views
-8

ich in Rechner vertraut Wert von sin bekommenWarum sin-Funktion in Programmiersprache Rückkehr seltsame sin Wert anders als Rechner

enter image description here

Wenn ich es in entweder Java-Programm oder Google.i berechnen wie unter seltsamen Wert bin immer

enter image description here

Bitte mir jemand wissen lassen, wie es funktioniert und was ist, wenn ich Rechner sin-Funktion in meinem Java-Programm wollen?

+4

Google wird Ihnen die Sünde von 27,5 geben ** Radiant ** (die bis 1576 Grad entspricht), während die Rechner gibt Ihnen die Sünde von 27,5 ** Grad **. – stybl

Antwort

3

Der Grund, warum Sie unterschiedliche Ergebnisse sind immer ist, weil der Rechner Sie die Sünde von 27,5 Grad schenkt, während Google Ihnen die Sünde von 27,5 Radiant schenkt (die bis 1576 Grad entspricht).

Um das gleiche Ergebnis zu erhalten, müssen Sie entweder den Rechner vom DEG-Modus in den RAD-Modus wechseln oder Google dazu überreden, in Grad zu arbeiten.

Wie für Ihr Java-Programm, das ist, was wir eigentlich auf dieser Website interessieren, arbeiten die integrierten Java Math.sin und Math.cos im Radianten. Wenn Sie Grad verwenden möchten, müssen Sie sie in Radiantform konvertieren. Hierfür können Sie entweder Math.toRadians verwenden:

Math.cos(Math.toRadians(27.5)) 

Oder können Sie die tatsächliche mathematische verwenden:

Math.sin(27.5 * Math.PI/180); 
1

In Ihrem Rechner ist 27.5 in Grad. Aber für den Rechner auf Google behandelt es 27,5 in Radiant. Deshalb haben sie unterschiedliche Antworten.

1 Radiant entspricht etwa 57,2958 Grad.

2π Radianten gleich 360 Grad.

0

Sie verwenden zwei verschiedene Einheiten. Auf der einen Seite haben Sie Grad, auf der anderen Seite.

Es ist normal, unterschiedliche Ergebnisse zu haben, da Sie verschiedene Eingaben haben.

0

Nach den docs die Parameter, dass sin sind

ein Winkel nehmen, in Radiant.

Ihr Rechner verwendet Grad.

Grad zu konvertieren, um π und dividieren durch 180. Zum Beispiel multiplizieren müssen radians:

double radians = 27.5 * Math.PI/180; 
Math.sin(radians); 
Verwandte Themen