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
-