wie ist der sinus programmiert?????
-
weiß jemand wie der SINUS(oder COSINUS usw.)
programmiert ist, also das sind ja funktionen die irgendwie(algorytmus)
programmiert wurden!!!!!!!hat da jemand ne ahnung?????
PS: kommt mir jetzt nicht lapida mit gegenkatete / hypotenuse usw!!!
die weiß ich ja eh nicht!!!!!danke
-
Taschenrechner benutzen den CORDIC-Algorithmus: http://www.dspguru.com/info/faqs/cordic.htm
Ich nehm an Computer auch ...
-
yo danke werd ich mir angucken!!!!!!
-
Kannst den sinus aber auch selber programmieren:
sinus(x) = x - x^3/3! + x^5/5! - ...
Je länger du den Term machst, um so genauer wird der Wert...
Bis denne!
-
@BinNeuHier: nö, so funktioniert das nicht... das beginnt schon einmal damit, daß die Taylor-Reihe von sin nicht so toll konvergiert wie einige andere Reihenentwicklungen. Weiterhin muß man noch die Additionstheoreme ausnutzen. Stell Dir vor, jemand berechnet mit Deiner Methode einen sin(10000)... bei sowas ist die Grundidee, daß man den Wert x in einen Wertebereich abbildet, in dem eine Reihe sehr gut konvergiert. Bei sin reicht es z.B. aus, wenn man Werte bis pi/8 berechnet, den Rest bekommt man über Additionstheoreme. Nimmt man dann noch eine andere Reihenentwicklung, bekommt man schon recht gute Werte. Aber Du kannst mal die Konvergenzabschätzung für einen Wert sin 0.1 machen, wenn Du ein double-Ergebnis mit 12 Stellen Genauigkeit brauchst! Die Reihe wird ganz schön länglich...
Ähnlich macht man es übrigens beim Logarithmus... dort werden nur Werte zwischen ]0,1[ berechnet, der Rest läßt sich immer über die Logarithmengesetze darauf abbilden. Für dieses Intervall nimmt man dann z.B. die Fourier-Cebysev-Reihe.
[ 08.09.2001: Beitrag editiert von: Marc++us ]
-
@Marc++us
Schade dass es so nicht funktioniert. Habe das nämlich mal so programmieren müssen, war eine übungsaufgabe. Jetzt wo du mir aber die probleme aufgezählt hast, meine ich, dass ich damals bewußt vernünftige Ergebnisse eingegeben habe. Dann hats natürlich geklappt.
Aber hast recht, ne gute Lösung ists so gesehen nicht. Danke für die Berichtigung!! images/smiles/icon_smile.gifBis bald
-
Marc++us:
Hä images/smiles/icon_confused.gif images/smiles/icon_confused.gif images/smiles/icon_confused.gif images/smiles/icon_confused.gif images/smiles/icon_confused.gif
-
marcus, wie würdest du es amchen?????
ich hab mir was ermittelt, aber das ist fast schon zu ungenau!!!!!irgendwas mit ner raute usw(bogenmaß = f(diagonal) oder so, naja eigentlich nicht, aber fast images/smiles/icon_smile.gif )naja sag mal!1
-
@Unix-Tom
Was sollte dein "Hä?" denn bedeuten? Funtzt meine Variante jetzt doch? Jetzt bin ich durcheinander images/smiles/icon_confused.gif
-
Das "Hä" verstehe ich auch nicht...
Ich weiß es für den Sinus nicht mehr genau... hab's auch in meinen Unterlagen auf die Schnelle nicht gefunden.
Im Prinzip so:
Argument "runterkürzen" auf einen Wertebereich 0..2pi
Die passenden Additionstheoreme finden, um die Werte zwischen pi/8 und 2pi auf 0..pi/8 abzubilden.
Eine Reihe suchen, die den sin in 0..pi/8 schnell und effektiv approximiert, besser als die Taylor-Reihe müßte die Cebysev-Reihe sein... mußt Du mal im Netz suchen "Bestapproximation" "Sinus" "Reihenentwicklung". Die T-Polynome kann man nämlich recht gut numerisch auswerten. Aber es gibt auch noch andere Reihen dafür.
Ergebnis wieder über die Additionstheoreme wieder zurückbilden auf den Bereich 0..2pi
fertisch!
-
Das bedeutet das aus dir der Mathematiker spricht.
Ist bei mir zu lange her um bei deiner erklärung durchzublicken.
Was ganz images/smiles/icon_confused.gif wie ich das gelesen habe.Übersetzt: habe nur Bahnhof verstanden.
War also keine meldung ob richtig oder nicht. Da du aber der Mathematiker bist bin ich mir sicher das es richtig ist. images/smiles/icon_smile.gif