sin, cos, tan



  • hi

    Wie berechnet man den cos, sin und tan?

    bräuchte einen Algorithmus, der mit C++ bzw. C zu verwirklichen wäre.

    thanx im v..
    mfG (c)h





  • Also erst einmal kannst du bei sin die Symmetrien ausnutzen und so alle Werte auf das Intervall [0, π/2] (?) zurückführen. Dann könntest du dir ein paar [wenige] Punkte (z.B. [0,sin(0)],[Pi/4,sin(Pi/4)],[3/8*Pi, sin(3/8*Pi)], [Pi/2,sin(Pi/2)]) raussuchen und interpolieren (das Ergebnis ist übrigens erstaunlich genau, der max. abs. Fehler liegt bei ca 0.005!). cos ist ja das gleiche wie sin, nur verschoben. tan könntest du durch sin/cos berechnen. Allerdings glaube ich, daß man es so nicht machen würde.
    Google mal nach:
    Hermite/Lagrange/Newton-Interpolation
    Gaussapproximation
    Approximation durch orthogonale Funktionen
    usw.



  • fubar schrieb:

    so alle Werte auf das Intervall [0, π/2] (?) zurückführen.

    Und was ist mit:
    cos(π2α)=sin(α)\cos(\frac{\pi}{2}-\alpha) = \sin(\alpha)
    sin(π2α)=cos(α)\sin(\frac{\pi}{2}-\alpha) = \cos(\alpha)
    tan(π2α)=cot(α)\tan(\frac{\pi}{2}-\alpha) = \cot(\alpha)
    cot(π2α)=tan(α)\cot(\frac{\pi}{2}-\alpha) = \tan(\alpha)

    Du kannst also alle Werte mit Hilfe von Symetrie und den Werten in [0,π4]\lbrack 0 , \frac{\pi}{4} \rbrack berechnen. Hier wäre eine Lookuptable von sagen wir mal 256 Werten preciser als du im Normalfall brauchst.



  • wer nutz den LuT noch?
    sin cos sind in fast alen Floating Point Units implementiert.
    wer selber rechnet ist immer langsamer.



  • hi!

    1. geschwindigkeit ist in diesem fall nicht so wichtig:
    da ich mit einem eigenen Datentyp rechne, der mehr vor und nachkommastellen erlaubt, ist es auch nicht hilfreich, dass ich mit float oder double den sinus etc. mit einer eigenen Funktion berechnen kann.

    2. *gg* mir ist aufgefallen, dass in den gleichungen überall "pi" vorkommt*gg*
    das eigendliche ziel meines programmes wäre, pi möglichst genau zu berechnen...
    daführ bräuchte ich aber auch möglichst genaue werte für sin, cos oder tan

    Kann man nicht eine genauere schätzung für einen sinus..... ohne pi berechnen (es wäre doch sinnlos, wenn ich mithilfe von pi pi berechnen würde....)

    mfG (c)h



  • chille07 schrieb:

    Wie berechnet man den cos, sin und tan?

    bräuchte einen Algorithmus, der mit C++ bzw. C zu verwirklichen wäre.

    und warum fragst du das nicht direkt?

    überleg mal, wie du damals in der schule die kreiszahl hergeleitet hast...



  • @scrub:
    haha! *gg* damals!!!
    wenn du wüsstest wie lange ich nicht mehr in der schule war...
    grob geschätzt... 24 stunden :p (es sind eben auch schüler in diesem forum!)

    scrub schrieb:

    chille07 schrieb:

    Wie berechnet man den cos, sin und tan?

    bräuchte einen Algorithmus, der mit C++ bzw. C zu verwirklichen wäre.

    und warum fragst du das nicht direkt?

    überleg mal, wie du damals in der schule die kreiszahl hergeleitet hast...

    also... ich überlege.. hab herausgefunden wie man "pi" berechnet, brauche dafür aber leider cos, sin, tan... wie man die berechnet haben wir noch nicht gelernt

    mfG (c)h



  • Ich habe in der 7.Klasse mal Pi hergeleitet und Trigonometrie haben wir erst in der 10.Klasse kennengelernt.
    Nur wie wir es damals gemacht haben weiß ich nicht mehr.



  • Wir hatten inder Schule pi berechnet, indem wir den Kreis durch regelmäßige n-ecke approximiert hatten.



  • SirLant schrieb:

    Ich habe in der 7.Klasse mal Pi hergeleitet und Trigonometrie haben wir erst in der 10.Klasse kennengelernt.
    Nur wie wir es damals gemacht haben weiß ich nicht mehr.

    WTF?!
    PI haben wir in Mathematik (in der 10.) erst vor einer Woche durchgenommen.
    Über Trigonometrie weiß in der Klasse niemand außer ich bescheid 🤡 👍

    Wird es immer schlimmer? *gg*



  • Hallo,

    wenn Du herausgefunden hast, wie man PI berechnet, warum verwendest Du dann überhaupt trigonometrische Funktionen.
    Versuche es doch ganz einfach mit der Formel von Euler:

    n=11n2=π26\sum^{\infty}_{n=1}\frac{1}{n^2}=\frac{\pi^2}{6}

    Musst halt, wenn Du irgendwann die Schleife abbrichst, das Ergebnis mit 6 multiplizieren und dann noch die Wurzel ziehen...

    Und da der Latex-Code nicht so richtig will(warum nicht?), hier noch ein Link:

    http://magnet.atp.tuwien.ac.at/scholz/projects/fba/fba.html

    In Kapitel 7 stehen einige Formeln für PI, u.a. auch die von Euler.

    Gruß
    Michael



  • randa schrieb:

    SirLant schrieb:

    Ich habe in der 7.Klasse mal Pi hergeleitet und Trigonometrie haben wir erst in der 10.Klasse kennengelernt.
    Nur wie wir es damals gemacht haben weiß ich nicht mehr.

    WTF?!

    Unsere Lehrerin hatte uns das am Ende des Schuljahres gezeigt, weil wir schon so weit waren,
    allerdings nicht wie man mit PI irgendwas macht, wir haben damals als irgendwas
    ausgerechnet und dann hatte sie uns irgendwas gezeigt mit dem Kreis wo eben PI
    rauskam.
    Weiß es leider nicht mehr genau und das Heft hab ich nicht mehr 😞



  • nt



  • Abbadon schrieb:

    Wir hatten inder Schule pi berechnet, indem wir den Kreis durch regelmäßige n-ecke approximiert hatten.

    rüchtüch!



  • http://magic-software.com/Source/Math/WmlMath.inl
    Ich weiss nicht ob es funktioniert, aber wenn man runterscrollt sieht man die Funktion FastSin0/1, FastCos0/1 und FastTan0/1. In wie weit es dann noch mit der Genauigkeit übereinstimmt, weiss ich nicht, jedoch geht es denke ich schneller als in einer Schleife zu berechnen.
    mfg olli


Anmelden zum Antworten