Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Curieux !!! Arrondi Addition

Résolu !
Accéder à la solution

Dans la finalité, mon critère d'erreur dépend d'un ratio nbr_envoyé/nb_bitOK.

Et il ne faut pas que ce ratio soit supérieur à 10e-6.

 

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 11 sur 39
2 248 Visites

de peur qu'elle ne se perde dans la nuée des échanges,

je réitère une de mes interrogations ... une éventuelle réponse m'intéresserait beaucoup.

 

voici le code ci-dessous :

 

xxxxx.png

 

La fonction "égalité?" indique False !

 

Je fais la soustraction pour pouvoir comparer la différence avec "Epsilon". (comme repris dans la doc de cette fonction)

Cette soustraction me montre une différence "très petite" ... m'indiquant que ces 2 DBLs peuvent "probablement" être considérés comme égaux.

 

Mais ... cette différence n'est pas inférieure ou égale à Epsilon ! ... mais vaut 2 x Epsilon (curieux, pourquoi le double?)

Dans d'autres tests j'ai même parfois obtenu une différence de  4 x Epsilon.

 

Donc, impossible d'utiliser cette fonction Epsilon pour établir qu'il y a une "proximité suffisante" pour conclure à une égalité.

 

ma question

 

Pourquoi  "2 x Epsilon"  ?  (parfois 4x)

Dès lors ... comment utiliser cette fonction Epsilon ?

 

0 Compliments
Message 12 sur 39
2 241 Visites

Ouadji,

 

J'ai fait le test chez moi, en reproduisant par rapport à ton screen, et pour ma part , c'est fonctionnel avec un delta à 0 et un booléen à true.

 

Quelle est la valeur exacte dans tes constantes ? Je suis peut être trompé par l'arrondi d'affichage.


Cdt,


Michael

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 13 sur 39
2 238 Visites

il doit y avoir des chiffres masqués

quand on fait apparaitre tous les chiffres on voit bien les arrondis

0 Compliments
Message 14 sur 39
2 230 Visites

Cela ne se produit pas de façon systématique.

 

Cela dépend de la façon dont tu "manipules" les DBLs.

 

Tu modifient le nombre de digits de précision, ensuite tu reviens au format de départ (des choses comma ça)

 

alors ... tu induis un arrondi différent dans des DBLs qui apparemment sont parfaitement égaux.

 

ci-joint un VI (LV2014) dans lequel le comportement se présente (j'aurais du placer directement le VI)

 

Le soucis n'est pas qu'il y ait des arrondis différents et que le fonction "égalité?" indique False.

Le soucis est que l'utilisation de la fonction "Machine Epsilon" ne permet pas de confirmer l'égaité (aux arrondis près)

et c'est pourtant le but premier de cette fonction "epsilon".

0 Compliments
Message 15 sur 39
2 223 Visites

n'y a t il pas un problème d'exposant

pour additioner directement les mantise ?

Capture.JPG

0 Compliments
Message 16 sur 39
2 219 Visites

@thib_fr : " n'y a-t-il pas un problème d'exposant "

 

ce n'est pas "de moi" ... voir ici

 

 [edit]  je n'ai pas additionné les mantisses, j'ai simplement "montré" que ces 3 nombres pouvaient parfaitement se représenter en IEEE754-64bits.  [/edit]

 

90000000000000000  =  0x13FBE85EDC90000

 

yyyyyy.png

 

 

0 Compliments
Message 17 sur 39
2 216 Visites

Capture.JPG

il est d'accord avec labview Smiley heureux

0 Compliments
Message 18 sur 39
2 193 Visites

d'où vient ce nombre hexa : 0x4373FBE85EDC9006  ??

 

il ne correspond pas au nombre (décimal)  90000000000000100

 

0 Compliments
Message 19 sur 39
2 189 Visites

j'ai juste testé avec le lien que tu as donné Smiley indifférent

0 Compliments
Message 20 sur 39
2 187 Visites