2012-04-06 7 views
3

Meine Frage ist über Winkelfunktionen in Programmiersprache Java. wenn ich die Sünde eines Doppel erhalten möchten, ich verwende nurJava: Calc x in sin (x)

double variable = Math.sin(x); 

aber was, wenn sin (x) = 0,324 (oder eine andere Zufallszahl), und ich will x berechnen? Wie kann ich es tun? Gibt es irgendeine native Funktion in Java oder muss ich meinen eigenen Algorithmus implementieren, um diesen Wert zurückzugeben?

getXForValue(0.324); 

public double getXForValue(double val){ 
// how to calculate ? 
return x; 
} 

Danke.

+0

Tis Mathematik: 'Math.asin (0.324)' – Mysticial

Antwort

5

Verwenden Sie die arcsin Funktion

x = Math.asin(variable) 
+0

schlechte Rechtschreibung. nicht arcsisch. –

+0

@woodchips, du hast Recht, danke! – dash1e

0

Sie Math.asin(0.324); verwenden können, um den Wert von x zu erhalten.

Bitte lesen Sie die Math.asin() Javadoc, um zu wissen, was von der Funktion zurückgegeben wird.

0

Sie müssen die Umkehrfunktion oder ArcSine verwenden. Es hat die gleiche Beziehung mit Sinus wie das Teilen mit Multiplikation.

5 * x = 10; 
10/5 = x; 

Math.sine(x) = 1; 
Math.asine(1) = x; 
1

Um Sinus inverse in Java berechnen Sie

Math.asin(double a) 

Es gibt den Arkussinus eines Werts verwenden können; der zurückgegebene Winkel liegt im Bereich -pi/2 bis pi/2 .. Java-Dokumentation für mehr Erklärung

0

Sie diese Methoden überprüfen verwenden müssen, Math.toDegrees und Math.asin, in dem nächsten Auftrag:

double x = 1.0; // in this example 1.0 corresp to sin(90) 
double dX = Math.toDegrees(Math.asin(x)); 

System.out.println(dX); 

Denken Sie daran, dass die asin()-Funktion ein double RADIANS Ergebnis liefert.