Unterschied cos-1 und acos?

5 Antworten

Der Cosinus ist periodisch und die Arcuscosinus-Funktionen liefern nur den Wert eines Astes zurück, in der Regel 0<=arccos(y)<=π

Für x<0 oder x>π liefert Math.Acos(Math.Cos(x)) also einen anderen Wert zurück - x mod (2 π) oder (2 π) - x mod(2 π).

Mit Werten zwischen 0 und π liefert Math.Acos(Math.Cos(x)) wieder x zurück (bis auf kleine Rundungsfehler).

Vermutlich hast du den Taschenrechner auf Gradmaß (Vollkreis = 360°) gestellt. In Programmiersprachen ist es extrem selten, dass Winkelfunktionen etwas anderes als Bogenmaß (Vollkreis = 2 π) verwenden.

Woher ich das weiß:Hobby – Hobby, Studium, gebe Nachhilfe

http://www.rapidtables.com/calc/math/Arcsin_Calculator.htm

Das funktioniert, aber nur wenn du Gradmaß und Bogenmaß richtig auswählst.

Du kannst nicht erwarten, dass wenn du Sinus im Bogenmaß berechnest, dass du dann beim Arcsin wieder dasselbe herausbekommst, wenn du mit Arcsin im Gradmaß rechnest.

Jeder Taschenrechner der was taugt kann zwischen Gradmaß und Bogenmaß umschalten.

Außerdem ist die Periodizität zu beachten, dass wird bei Rechnern immer auf das erste 360 ° - Intervall bzw. 2 * pi - Intervall transformiert.


precursor  09.02.2017, 16:36

Ups, ich hatte arcsin gelesen, es gilt für arccos aber dasselbe.

0

Nein, es muss nicht unbedingt wieder a sein!

Beachte, dass der Cosinus periodisch ist. Es gibt unendlich viele Werte a, die zu einem vorgegebenen Cosinuswert (z.B. 1 führen). Da die Inverse, der Arcuscosinus, nur auf einen ursprünglichen Wert zurückabbilden kann, beschränkt man sich dabei üblicherweise auf den Bereich [-π/2,π/2]. Jedoch muss das natürlich nicht dein ursprünglicher Wert gewesen sein.

Beispiel: a = 2π, dann ist cos(a) = cos(2π) = 1. acos(1) = 0, da der Arcuscosinus jetzt den Wert im Intervall [-π/2,π/2] sucht, wo der Cosinus 1 ist. Das ist 0.


Stef299 
Beitragsersteller
 09.02.2017, 16:14

Ok, aber obwohl der Cosinus periodisch ist, sollte ein annähernd gleicher Wert rauskommen. im Fall 90° erhalte ich aber mit oben genannter Formel (acos(cos(90)) die Zahl 2,03540569948579...

0
Drainage  09.02.2017, 16:17
@Stef299

Ha, dann ist der Fehler ja sonnenklar!

So funktioniert die Eingabe in den meisten Onlinerechnern nicht! Du gibst dort keinen Winkel ein, sondern eine Zahl! Siehe 360° = 2*Pi etc.

cos(90) bedeutet nicht cos(90°), sondern cos(90)!

Zieh von 90 wegen der Periodizität 28*Pi ab, dann bist du bei den 2,035, die in dem gesuchten Intervall liegen.

90° ist in dieser Eingabe Pi/2 bzw. 1.57079632... und das sollte dann auch wieder rauskommen.

1
Stef299 
Beitragsersteller
 09.02.2017, 16:22
@Drainage

Ok, jetzt verstehe ich was du meinst. Aber wie bekomme ich aus einem Cosinus wert (z.b. 0,35..) den Anteil von pi raus?

0
Drainage  09.02.2017, 16:23
@Stef299

Du meinst, dass der Cosinuswert 0,35 ist und du den Wert dazu suchst? Na über den Arcuscosinus.

Was hast du gegeben und was suchst du?

0
Stef299 
Beitragsersteller
 09.02.2017, 16:31
@Drainage

Also dann so: acos(cos(90))+(90/pi)*pi ?

0
Drainage  09.02.2017, 16:37
@Stef299

Äh nein. Keine Ahnung, was du willst, aber das wäre Schwachsinn.

1
Stef299 
Beitragsersteller
 09.02.2017, 16:38
@Drainage

Also ich habe Cosinus 2,035 und will den winkel ausrechnen

0
Drainage  09.02.2017, 16:45
@Stef299

Das ist dann einfach die Umrechnung von Bogenmaß in Grad, wie es alle anderen hier schon geschrieben haben. Du multipliziert diese Zahl mit 180°/Pi und erhältst den Winkel.

Beispiel: Pi * 180°/Pi = 180° (passt also)

Oder bei dir: 2,035 * 180°/Pi = 116,59...°

Hier sieht man, dass das in der Tat nichts mit den 90 ° zu tun hast, die du ursprünglich eingeben wolltest.

90° wären ja 90° * Pi/180° = Pi/2.

2

um oder und C# ?

Generell gibt es 2 Möglk. Winkel anzugeben

Grad / Deg / °

Radiant / rad

Hier liegt denke ich mal das Problem

alpha / 360° = rad / 2PI

Und ja i.d.R. ist acos = arccos = cos^-1