Je travaille sur un script pour vérifier certaines données paramétriques générées par un programme de test. Le tableau dont je dispose concerne certains spectres laser qui ont un seul pic spectral et des pics à gauche et/ou à droite. Je voudrais visualiser les données dans JMP, j'ai donc créé ce graphique :

Je suis capable de mettre en évidence le pic des spectres avec une colonne qui utilise une formule simple pour remplir les lignes uniquement au SpectralPeakPower (RED).
Si( :YValues == Col Max(:SpectralPeakPower, :LampWfr, :serial, :"LaserCurrent[mA]"n), :SpectralPeakPower)
Cependant, lorsque j'utilise ce même concept pour calculer la puissance du pic du côté gauche, l'énoncé d'équivalence échoue et, par conséquent, la puissance du pic du côté gauche n'est pas renseignée dans la ligne et n'est PAS mise en évidence dans le graphique.

Lors du débogage de ce problème, il ne semble pas y avoir de raison logique pour laquelle l'instruction == ne devient pas 1...
(-46,81 == -46,81) = 1, n'est-ce pas ?!?! Je deviens un peu fou en déboguant ça...
Quelles sont les autres raisons possibles pour lesquelles == n’est pas 1 ?
J'ai également d'autres cas dans mon script où il y a une erreur d'arrondi et je voudrais utiliser une fonction ~== approximativement équivalente. Une telle fonction existe-t-elle déjà ?
Je peux partager le fichier JMP en privé avec les membres du personnel pour examen.
Merci,
Cela pourrait être dû aux mathématiques à virgule flottante .
Show(0.1 + 0.2, 0.1 + 0.2 == 0.3);
//0.1 + 0.2 = 0.3;
//0.1 + 0.2 == 0.3 = 0;
Vous pouvez utiliser Round(), Floor() ou Ceiling() pour arrondir vos valeurs.