none
C#: cos^-1 im Gradmaß berechnen

    Frage

  • Hallo,

    in C# ist die wird das Bogenmaß standartmäßig verwendet. sin, cos und tan lassen sich jedoch einfach ins Bogenmaß umrechnen, jedoch nicht sin^-1, cos^-1 und tan^-1.

    Wie kann man diese drei ins Gradmaß umrechnen??

    Danke im Voraus

    Samstag, 16. Februar 2013 21:48

Antworten

  • Hallo,

    meinst du die Umkehrfunktionen zu sin, cod und tan, also die Arcusfunktionen?

    Das müsste für sin in etwa so aussehen:

    double x = 1;
    double a = Math.Asin(x) / Math.PI * 180;

    Für die anderen brauchst du nur die Methoden von Math austauschen. Das basiert darauf, das du einen Winkel im Bogenmaß zurück bekommst, der nur umgerechnet werden braucht.
    Ein kleiner Auszug aus einer meiner Klassen: http://sdrv.ms/12uLwv7

    Dort sind noch weitere Trigonometrische Funktionen drin.

    An sich finde ich es absolut unsinnig, das diese Funktionen fast immer mit ^-1 abgekürtzt werden, denn
    asin x ≠ 1 / sin x


    Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets

    Samstag, 16. Februar 2013 22:08

Alle Antworten

  • Hallo,

    meinst du die Umkehrfunktionen zu sin, cod und tan, also die Arcusfunktionen?

    Das müsste für sin in etwa so aussehen:

    double x = 1;
    double a = Math.Asin(x) / Math.PI * 180;

    Für die anderen brauchst du nur die Methoden von Math austauschen. Das basiert darauf, das du einen Winkel im Bogenmaß zurück bekommst, der nur umgerechnet werden braucht.
    Ein kleiner Auszug aus einer meiner Klassen: http://sdrv.ms/12uLwv7

    Dort sind noch weitere Trigonometrische Funktionen drin.

    An sich finde ich es absolut unsinnig, das diese Funktionen fast immer mit ^-1 abgekürtzt werden, denn
    asin x ≠ 1 / sin x


    Koopakiller [kuːpakɪllɐ] | Webseite | Code Beispiele | Facebook | Snippets

    Samstag, 16. Februar 2013 22:08
  • Hallo KurzLang,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Wenn nicht, neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.

    Danke und viele Grüße,
    Ionut

    Donnerstag, 28. Februar 2013 15:48
  • >An sich finde ich es absolut unsinnig, das diese Funktionen fast immer mit ^-1 abgekürtzt werden

    Ja und nein, f^-1 ist die allgemeine Schreibweise für Umkehrfunktionen. Und die zeichnen sich durch gespiegelte Funktionsgraphen aus, nicht durch den mathematischen Kehrbruch. Der Kehrbruch, der auch mit ^-1 notiert wird, ist eigentlich nie die Umkehrfunktion. Eine Paradebeispiel dazu ist die Umkehrfunktion von f(x)=x, Da der Graph genau die Spiegelachse ist. Die Umkehrfunktion dazu ist wieder f^-1(x)=x und nicht 1/x. Lineare Graphen mit Steigung a, also f(x) = a*x haben die Umkehrfunktion f^-1(x) = x/a. Da kommt also die Umkehr der Steigung a^-1 zum Zug.

    Ich frage mich in dem Zusammenhang, ob das vielleicht auch das Mißverständnis bei KurzLang ist. Aber wenn, dann wäre 1/sin(x) überhaupt kein Winkelmaß, denn sin(x) ergibt ja kein Bogenmaß, sondern erfordert x in Bogenmaß, das Ergebnis ist eine Zahl - weder im Bogen- noch im Gradmaß. Und im Fall von asin(x) ist x eben kein Winkel, sondern im Hauptzweig des Funktionsgraphen ein Wert im Bereich [-1,1], aus dem dann durch asin() ein Bogenmaß resultiert.

    Der MSDN-Artikel über Math.Sin() hat den Kommentar:

    "The angle, a, must be in radians. Multiply by Math.PI/180 to convert degrees to radians."

    Jezt machen wir mal ein bißchen Gleichungs-Äquivalenzumformungen. Klasse 5 oder 6?

    Bogenmaß = Gradmaß * Pi / 180

    Wir dürfen als Äquivalenzumformung auf beiden Seiten mit 180 multiplizieren:

    Bogenmaß * 180 = Gradmaß * Pi

    Wir dürfen als Äquivalenzumformung auf beiden Seiten durch Pi teilen.

    Bogenmaß * 180 / Pi = Gradmaß

    Und schon kannst Du nicht nur Gradmaß in Bogenmaß, sondern auch Bogenmaß in Gradmaß umrechnen. Ich denke das kann jeder. Zumindest kann jeder das Nachvollziehen, wnn das in so leichten Häppchen vorexerziert wird.

    KurzLang, wenn Dein Problem also anderer Natur ist, z.B. Ungenauigkeiten, dann schau mal hier: 

    http://stackoverflow.com/questions/3249710/accuracy-of-math-sin-and-math-cos-in-c-sharp

    und hier 

    http://sine.codeplex.com/

    oder wenn das auch nicht das Problem ist, stelle Deine Frage nochmal anders. 


    Olaf Doschke (Setmics)

    Samstag, 2. März 2013 08:03