cs_Nesta
Messages postés7Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention30 juin 2003
-
19 nov. 2002 à 16:32
c51greedo
Messages postés20Date d'inscriptionjeudi 20 juin 2002StatutMembreDernière intervention 7 janvier 2003
-
21 nov. 2002 à 01:31
Bonjour,
J'ai réalisé un prog qui trace des courbes et qui calcul son mini., son maxi., et sa déviation qui elle me pose problème.
Pour sa j'ai pompé la formule de calcul d'Excel ("ECARTYPEP").
J'utilise une variable DblTotalCarre qui contient le total des carrés de mes n valeurs,
une variable DblTotal qui contient le total de mes n Puis je fais "le simple" calcul suivant qui me complique bien la vie..... :
(n * DblTotalCarre - (DblTotal ^ 2))
Au lieu de me retourner 0 sa me renvoie un nombre négatif à 10 puissance -16
-> Faites le test avec 21 valeurs à 0,03.
Je me suis renseigné auprès de polytechniciens qui m'ont confirmé que le signe de cette formule ne pouvait pas être négatif.
J'aimerai effectuer ce calcul en valeur exacte, mais je vois pas comment esquiver ce problème...?
cs_Nesta
Messages postés7Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention30 juin 20031 19 nov. 2002 à 16:37
Précisions :
Quand j'affiche le contenu des mes variables et même des bouts de mes calculs (n * DblTotalCarre) et (DblTotal ^ 2) ce ne sont que des valeurs exactes... Alors je sais pas du tout qu'est ce qui merde.
J'utilise le type Double.
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 19 nov. 2002 à 18:06
Problème de précision des calculs effectués par l'ordinateur !
-1 x 10 ^-16 = -0,000 000 000 000 000 1, c'est pratiquement zéro !
Une solution : dire que si l'écart type est infériur à 10^-15 alors il vaut 0.
cs_Nesta
Messages postés7Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention30 juin 20031 19 nov. 2002 à 18:36
Effectivement, c'est la conclusion à laquelle j'étais arrivé. Le truc c'est que je fais la connerie d'en parler à un technicien de l'entreprise pour laquelle j'ai effectué le développement et j'arrive pas à le persuader que le problème ne vient pas de la formule.
J'avais "corrigé" le bug en testant le signe de ce bout de formule qui merdouille, quand il est négatif je colle un zéro à la place mais sa fait bidouillage...
Y a vraiment aucun moyen de tomber pile sur zéro sans tronquer de valeurs ???
Je crois que je vais devoir faire appel directement à la formule Excel, même si Excel est réputé pour faire des petites erreurs de calcul de temps en temps...