math code / sin code



  • hi leutz,
    weis jemand wo ich den quellcode von der math.cpp bekomme? auf meinem rechner hab ich nur den compilierten .hpp . oder kennt vielleicht jemand einen code, wie man sinus, cos, tan berechnen kann?
    thx im vorraus



  • Wieso reicht dir denn die compilierte Version der Library nicht aus?
    (diese mathematischen Funktionen dürften ziemlich dicht auf der FPU deines Systems aufbauen - da nützt dir eine "fremde" math.c vermutlich herzlich wenig)



  • Hi,

    ich vermute, es geht ihm darum, herauszubekommen, wie sin&Co numerisch berechnet werden können.
    Aber da (wie CStoll schon hingewiesn hat) in vielen modernen Plattformen bereits eine FPU (= Prozessor, der das intern handhabt) eingebaut ist, glaube ich kaum, dass man in "der math.c" noch allzuviele Hinweise auf die numerischen/mathematischen Hintergründe finden wird ... sondern vermutlich nur, wie die FPUs angesprochen werden.

    Gruß,

    Simon2.



  • Der Sinus wird wahrscheinlich über eine Potenzreihe n. Grades gelöst. Zumindest wurde mir das in der Schule eingetrichtert 😃

    MfG SideWinder



  • ... genau; mit einer Reihenentwicklung gemäß der Taylorreihe. Siehe hier.



  • Dann ist unser derzeitiger Mathestoff ja doch nicht ganz für die Katz 😉

    MfG SideWinder



  • Vielleicht doch. Taylorreihenentwicklung ist zwar durchaus nützlich, aber nicht gerade zum numerischen Berechnen von Winkelfunktionen.
    => http://de.wikipedia.org/wiki/CORDIC



  • es geht mir nicht darum, es schneller zu machen, eher darum es ohne fpu zu machen. wie bekomme ich den sin x heraus nur mit den normalen operatoren. da ist glaube ich die Taylorreihenentwicklung auch nicht das richtige.



  • ich_hab_frage schrieb:

    es geht mir nicht darum, es schneller zu machen, eher darum es ohne fpu zu machen. wie bekomme ich den sin x heraus nur mit den normalen operatoren. da ist glaube ich die Taylorreihenentwicklung auch nicht das richtige.

    Nach dem ersten Durchlesen aber wesentlich einfacher als diese CORDIC-Methode (kann natürlich auch sein, dass ich vor lauter Information erschlagen wurde).

    Musst du nur die Summenformel bis zum n. Glied in deine Math-Lib werfen und hast ein dementsprechend genaues Ergebnis.

    Mit sin(x) = x * 5 / 5 - PI, also mit "normalen" Operatoren wirst du da nicht hinkommen.

    MfG SideWinder




Log in to reply