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,996292744

    Bei 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.151117

    Ich habe Win7 64bit in VirtualBox und Arbeite mit C++ Builder XE4

    Keine Ahnung ???


  • Mod

    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.


  • Mod

    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


Log in to reply