Problem mit 'cos'
-
Hallo,
ich weiß nicht warum er mir im Programm ein anderen 'cos' Ergebnis anzeigt als mein Taschenrechner.
Im Programm 0,999828972187142
Mein Taschenrechner 0,996292744Bei ein Winkel von 4,935125°
#include <math.h> #define PI 3.141592654 double dWinkel = 4.935125; double dResultSeiteB; dResultSeiteB = cos(dWinkel * 180.0 / PI); ShowMessage(dResultSeiteB);
Bei einen Wert von 2676.072 ist die 3. Stelle hinter dem Komma Viel
Im Programm Ergebnis = 2675.614295
Taschenrechner = 2666.151117Ich habe Win7 64bit in VirtualBox und Arbeite mit C++ Builder XE4
Keine Ahnung ???
-
Ein Halbkreis sind 180 Grad oder ein Bogen der Länge π. Laut deiner Zeile 7 ist es umgekehrt.
PS: Ich bin begeistert, dass du Werte gefunden hast, bei denen die Ergebnisse der falschen und der richtigen Rechnung derart nahe zusammen liegen. Hast du lange danach gesucht?
-
Hast du auf dem Taschenrechner auch von Grad in Bogenmass umgerechnet.
Mit dem pi? (also per Hand eingegeben und nicht die pi-Taste gedrückt)double
hat ca 16 signifikante Stellen. Du benutzt bei dem pi aber nur 10.
Die interne Berechnung kann auch noch ein paar Stellen mehr haben.
-
DirkB schrieb:
double
hat ca 16 signifikante Stellen. Du benutzt bei dem pi aber nur 10.
Die interne Berechnung kann auch noch ein paar Stellen mehr haben.Cosinus ist schlimmstenfalls ungefähr linear. Mit Ungenauigkeiten in der 11. Stelle kannst du keine Abweichung in der 3. signifikanten Stelle erklären.
-
UPS Danke SeppJ
War mein Fehler
dResultSeiteB = cos(dWinkel * PI / 180.0);
Jetzt ist es Richtig
P.S. *SeppJ ... Ja habe ich ca. 1h