Fonction de lissage des valeurs analogiques

En allant un peu plus loin, un calcul de (500/(20/2))/(20/2) avec l’objet FONCTION, qui devrait retourner « 5 » en toute logique, retourne « 9,99 ». Ça explique les résultats surprenant quand on fait la même chose avec des variables…

EDIT:
D’autres résultats tout aussi déroutants:
((500)/(20/2))/(20/2)=1
((500)/((20)/2))/(20/2)=0,49

Y’a-t-il une logique de l’objet FONCTION qui m’échappe, ou est-ce un bug?

Bonjour Helethom,

de même, si vous supprimez toutes les parenthèses : Capture d’écran 2024-03-12 à 11.14.55

le résultat est : 0,31

@Jeremy_GCE , @Kevin_GCE ???

Bonne journée

Capture d’écran 2024-03-12 à 11.14.55
bonjour,
pour le coup le résultat est juste puisque les opérations sont faites les unes après les autres.

1 « J'aime »

Exact, le problème proviendrait donc d’une mauvaise gestion des parenthèses? Ou d’une logique de calcul propre à l’objet FONCTION quand on les utilise?

je ne puis dire, mais 20/2=9.99 ça sent l’arrondi à cause des conversions binaires.

Le bogue a déjà été remonté. On verra à la prochaine release si c’est corrigé.

Merci @fgtoul et @grocrabe ! Pour en revenir sur les fonctions de lissage, la formule proposée dans le Wiki Lissage des mesures analogiques — GCE Electronics (gce-electronics.com) donnait un résultat satisfaisant chez-vous? Je cherche une astuce pour la faire fonctionner chez moi.
Lissage_numérique-_diagramme_2
Merci encore et bonne journée,

J’utilise cette méthode sur un capteur de courant et ça fonctionne.

Vous pouvez aussi tester la méthode de Michel94 proposée à la fin du wiki.