Joachim: cosinus berechnen

Hi,

ich steh grade auf dem Leitung...

Cosinus sollte ja sowas sein
0: 1
10: 0,98
20: 0,94
30: 0,87
40: 0,77
50: 0,64
60: 0,5
70: 0,34
80: 0,17
90: 0

Verwende ich Math.cos bekomme ich aber sowas:
0: 1
10: -0.8390715290764524
20: 0.40808206181339196
30: 0.15425144988758405
40: -0.6669380616522619
50: 0.9649660284921133
60: -0.9524129804151563
70: 0.6333192030862999
80: -0.11038724383904756
90: -0.4480736161291701

Mathematiker zuhülfe bitte!

Gruesse, Joachim

--
Am Ende wird alles gut.
  1. Hallo,

    Cosinus sollte ja sowas sein
    0: 1
    10: 0,98
    20: 0,94
    30: 0,87
    40: 0,77
    50: 0,64
    60: 0,5
    70: 0,34
    80: 0,17
    90: 0

    nein, das ist ein Sonderfall, nämlich dass das Argument im Gradmaß angegeben wird. In Mathematik und Wissenschaft wird aber normalerweise das Bogenmaß verwendet. Und darauf sind auch die Winkelfunktionen der meisten Programmiersprachen abgestimmt.

    Ciao,
     Martin

    --
    Wer mit dem Finger droht, sollte ihn am Abzug haben, und nicht in der Nase.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hi,

      In Mathematik und Wissenschaft wird aber normalerweise das Bogenmaß verwendet.

      ah, ok, dann bekomme ich:
      alpha: 0, bogenmass: 0, cos: 1
      alpha: 5, bogenmass: 0.08726646259971647, cos: 0.9961946980917455
      alpha: 10, bogenmass: 0.17453292519943295, cos: 0.984807753012208
      alpha: 15, bogenmass: 0.2617993877991494, cos: 0.9659258262890683
      alpha: 20, bogenmass: 0.3490658503988659, cos: 0.9396926207859084
      alpha: 25, bogenmass: 0.4363323129985824, cos: 0.9063077870366499
      alpha: 30, bogenmass: 0.5235987755982988, cos: 0.8660254037844387
      alpha: 35, bogenmass: 0.6108652381980153, cos: 0.8191520442889918
      alpha: 40, bogenmass: 0.6981317007977318, cos: 0.766044443118978
      alpha: 45, bogenmass: 0.7853981633974483, cos: 0.7071067811865476
      alpha: 50, bogenmass: 0.8726646259971648, cos: 0.6427876096865394
      alpha: 55, bogenmass: 0.9599310885968813, cos: 0.5735764363510462
      alpha: 60, bogenmass: 1.0471975511965976, cos: 0.5000000000000001
      alpha: 65, bogenmass: 1.1344640137963142, cos: 0.42261826174069944
      alpha: 70, bogenmass: 1.2217304763960306, cos: 0.3420201433256688
      alpha: 75, bogenmass: 1.3089969389957472, cos: 0.25881904510252074
      alpha: 80, bogenmass: 1.3962634015954636, cos: 0.17364817766693041
      alpha: 85, bogenmass: 1.48352986419518, cos: 0.08715574274765836
      alpha: 90, bogenmass: 1.5707963267948966, cos: 6.123233995736766e-17
      alpha: 95, bogenmass: 1.6580627893946132, cos: -0.08715574274765824

      ich nehme mal an, das dann Rundungs-Ungenauigkeiten bei 90° schon wieder  6.123233995736766e-17 ergeben...

      Gruesse, Joachim

      --
      Am Ende wird alles gut.
      1. Om nah hoo pez nyeetz, Joachim!

        ich nehme mal an, das dann Rundungs-Ungenauigkeiten bei 90° schon wieder  6.123233995736766e-17 ergeben...

        Leider kommt ohne die Ermittlung der Zwischenwerte auch nicht exakt Null raus.

        Math.cos(Math.PI*90/180) ergibt ebenfalls 6.123233995736766e-17

        Matthias

        --
        1/z ist kein Blatt Papier.

        1. Moin,

          Leider kommt ohne die Ermittlung der Zwischenwerte auch nicht exakt Null raus.
          Math.cos(Math.PI*90/180) ergibt ebenfalls 6.123233995736766e-17

          Woran liegt das genau? Daran, dass Math.PI zu wenige Dezimalstellen hat?

          Grüße Marco

          1. Tach,

            Leider kommt ohne die Ermittlung der Zwischenwerte auch nicht exakt Null raus.
            Math.cos(Math.PI*90/180) ergibt ebenfalls 6.123233995736766e-17

            Woran liegt das genau? Daran, dass Math.PI zu wenige Dezimalstellen hat?

            mehr Dezimalstellen würden am grundlegenden Problem nichts ändern: http://forum.de.selfhtml.org/hilfe/faq.htm#fliesskommarechnung.

            mfg
            Woodfighter

            1. Om nah hoo pez nyeetz, Jens Holzkämper!

              Woran liegt das genau? Daran, dass Math.PI zu wenige Dezimalstellen hat?

              mehr Dezimalstellen würden am grundlegenden Problem nichts ändern: http://forum.de.selfhtml.org/hilfe/faq.htm#fliesskommarechnung.

              Korrekt, das grundlegende Problem liegt zum einen in der Fließkommarechnung selbst und zum anderen im Algoritmus für die Berechnung (ich denke, es wird der Sinus sein, der zugrunde liegt) der Winkelfunktionswerte.

              Matthias

              --
              1/z ist kein Blatt Papier.

          2. Hallo misterunknown,

            Moin,

            Leider kommt ohne die Ermittlung der Zwischenwerte auch nicht exakt Null raus.
            Math.cos(Math.PI*90/180) ergibt ebenfalls 6.123233995736766e-17

            Woran liegt das genau? Daran, dass Math.PI zu wenige Dezimalstellen hat?

            Nein. Doppelt genaue Fließkommazahlen haben eine Genauigkeit von 16 Stellen, der Fehler liegt bei 0.6*10^-16, das ist doch OK.

            Gruß, Jürgen

  2. @@Joachim:

    nuqneH

    Cosinus sollte ja sowas sein
    0: 1
    10: 0,98
    20: 0,94

    Nein, sollte nicht. Sondern:

    0°: 1
    10°: 0,98
    20°: 0,94

    Nur bei 0 ist die Einheit egal, 0 = 0°.

    Winkelangaben ohne Einheit sind im Bogenmaß (Radiant). Durch Hinzufügen der Einheit 'rad' kann man verdeutlchen, dass es ein Winkel ist; ansonsten kann 'rad' auch weggelassen werden, denn 1 rad = 1. (Es ist eine Verhältniseinheit; der Winkel ist ja das Verhältnis der Bogenlänge zum Radius, daher Bogenmaß)

    Wie Der Martin schon sagte, erwarten Winkelfunktionen in JavaScript den Wert in Radiant.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Lieber Gunnar Bittersmann,

      Wie Der Martin schon sagte, erwarten Winkelfunktionen in JavaScript den Wert in Radiant.

      und wenn man das wieder umrechnen will, braucht man den Faktor 180/pi oder eben seinen Kehrwert (Tutorial).

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. Hi,

        und wenn man das wieder umrechnen will, braucht man den Faktor 180/pi oder eben seinen Kehrwert (Tutorial).

        schon recht, aber ich hatte meine alte Formelsammlung noch zur Hand. Nur mein Wissen ist mit den Haaren/Jahren etwas ausgedünnt ;-)

        Gruesse, Joachim

        --
        Am Ende wird alles gut.