Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: FAQ - Rund um die Programmierung ::  wie ist der sinus programmiert?????  
Gehen Sie zu Seite 1, 2  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
ERROR
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 589
Beitrag ERROR Mitglied 15:12:00 07.09.2001   Titel:   wie ist der sinus programmiert?????            Zitieren

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
Werbeunterbrechung
Bashar
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.05.2001
Beiträge: 16840
Beitrag Bashar Mitglied 16:29:00 07.09.2001   Titel:              Zitieren

Taschenrechner benutzen den CORDIC-Algorithmus: http://www.dspguru.com/info/faqs/cordic.htm

Ich nehm an Computer auch ...

_________________
OSL♥
ERROR
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 589
Beitrag ERROR Mitglied 18:24:00 07.09.2001   Titel:              Zitieren

yo danke werd ich mir angucken!!!!!!
Ste.fun
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.06.2001
Beiträge: 867
Beitrag Ste.fun Mitglied 22:42:00 07.09.2001   Titel:              Zitieren

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!

_________________
The Box said:
"Requires Windows98 or better"
So I installed Linux.
Marc++us
Administrator

Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 17124
Beitrag Marc++us Administrator 10:39:00 08.09.2001   Titel:              Zitieren

@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 ]

_________________
Viele Grüße
Marc++us
C++.de
Ste.fun
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.06.2001
Beiträge: 867
Beitrag Ste.fun Mitglied 11:15:00 08.09.2001   Titel:              Zitieren

@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!! [img]images/smiles/icon_smile.gif[/img]

Bis bald

_________________
The Box said:
"Requires Windows98 or better"
So I installed Linux.
Unix-Tom
Moderator

Benutzerprofil
Anmeldungsdatum: 18.07.2000
Beiträge: 10398
Beitrag Unix-Tom Moderator 20:03:00 10.09.2001   Titel:              Zitieren

Marc++us:

Hä [img]images/smiles/icon_confused.gif[/img] [img]images/smiles/icon_confused.gif[/img] [img]images/smiles/icon_confused.gif[/img] [img]images/smiles/icon_confused.gif[/img] [img]images/smiles/icon_confused.gif[/img]

_________________
Moderator für MFC, Linux, C# - NET und Datenbanken
ERROR
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 589
Beitrag ERROR Mitglied 20:08:00 10.09.2001   Titel:              Zitieren

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 [img]images/smiles/icon_smile.gif[/img] )

naja sag mal!1
Ste.fun
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.06.2001
Beiträge: 867
Beitrag Ste.fun Mitglied 20:09:00 10.09.2001   Titel:              Zitieren

@Unix-Tom
Was sollte dein "Hä?" denn bedeuten? Funtzt meine Variante jetzt doch? Jetzt bin ich durcheinander [img]images/smiles/icon_confused.gif[/img]

_________________
The Box said:
"Requires Windows98 or better"
So I installed Linux.
Marc++us
Administrator

Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 17124
Beitrag Marc++us Administrator 20:28:00 10.09.2001   Titel:              Zitieren

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!

_________________
Viele Grüße
Marc++us
C++.de
C/C++ Forum :: FAQ - Rund um die Programmierung ::  wie ist der sinus programmiert?????  
Gehen Sie zu Seite 1, 2  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.