Winkelfunktionen zu genau/ungenau

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
Windtommyhoff
User
Beiträge: 32
Registriert: Donnerstag 15. März 2007, 13:01
Kontaktdaten:

Winkelfunktionen zu genau/ungenau

Beitragvon Windtommyhoff » Montag 11. Juni 2007, 10:37

Hallo zusammen.

Ich hab im Moment folgendes Problem, dass ich mit meinem Programm Werte über die Winkelfunktionen (Sinus Cosinus) errechne. Und das passiert in Grad schritten für eine ganze Umdrehung. Jetzt geschieht es aber, dass der errechnete Wert bei 0° nicht gleich ist wie der Wert bei 360°! Weil für python der sin von 2*pi nicht gleich der sinus von 0, also 0 ist, sondern irgendein infinitisimal kleiner Wert ......e-16! Wenn ich allerdings damit weiter rechne gibts bei den Werten die Differenz von h(0°)=4 und h(360°)=3.795. Das ist für mich allerdings mehr als ungenügend!

Kann mir jemand ne Funktion/nen Trick nennen, mit dem ich auch für h(360°) =4 heraus bekomme?

Danke schonmal für jede Art von Antwort,
Windtommyhoff
BlackJack

Beitragvon BlackJack » Montag 11. Juni 2007, 11:21

Grosszügig runden. ;-)
Benutzeravatar
Windtommyhoff
User
Beiträge: 32
Registriert: Donnerstag 15. März 2007, 13:01
Kontaktdaten:

Beitragvon Windtommyhoff » Montag 11. Juni 2007, 11:23

Auf die Idee war ich grad auch schon gekommen. Sieht nur nicht so schön aus, wenn ich der Formel_Text Datei auf einmal ein round(...,4) oder so steht, wo der Enduser dann nichts mit anfangen kann.
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Montag 11. Juni 2007, 12:07

Naja. Computer haben keine genauen Fließkommazahlen. Da hilft nur Runden
TUFKAB – the user formerly known as blackbird
Benutzeravatar
Michael Schneider
User
Beiträge: 566
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Bremen
Kontaktdaten:

Beitragvon Michael Schneider » Montag 11. Juni 2007, 12:45

Hi,

es gibt noch was einfacheres: mod

Code: Alles auswählen

sin(x%360)

Das kann man machen, da 0° per mathematischer Definition = 360° ist. :-)

Grüße,
Michael
Zuletzt geändert von Michael Schneider am Montag 11. Juni 2007, 12:46, insgesamt 1-mal geändert.
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Beitragvon birkenfeld » Montag 11. Juni 2007, 12:46

Ja, die Freuden der numerischen Programmierung...

Pi kann nicht exakt dargestellt werden, die Sinusfunktion wird auch nur approximiert, und dann auch noch Fließkommazahlen *seufz*
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]