私は、テスト プログラムによって生成されたいくつかのパラメトリック データをチェックするスクリプトを作成中です。私が持っているテーブルは、単一の SpectralPeak と左サイド ピークおよび/または右サイド ピークを持ついくつかのレーザー スペクトルのテーブルです。JMP でデータを視覚化したいので、次のプロットを作成しました。

簡単な数式を使用して SpectralPeakPower (RED) の行のみを入力する列を使用して、スペクトルのピークを強調表示できます。
If( :YValues == Col Max(:SpectralPeakPower, :LampWfr, :serial, :"LaserCurrent[mA]"n), :SpectralPeakPower)
ただし、同じ概念を使用して左側のピークのパワーを計算すると、同等性のステートメントが失敗し、そのため左側のピーク パワーは行に入力されず、プロット内で強調表示されません。

この問題をデバッグすると、== ステートメントが 1 にならない論理的な理由はないように見えます...
(-46.81 == -46.81) = 1 ですよね!?!?! これをデバッグしているとちょっと気が狂いそうです...
== が 1 でない他の考えられる理由は何ですか?
スクリプトには丸め誤差がある他のインスタンスもあり、ほぼ同等の ~== 関数を使用したいと考えています。そのような関数はすでに存在しますか?
JMP ファイルをスタッフと非公開で共有し、レビューしてもらうことができます。
ありがとう、
浮動小数点演算が原因の可能性があります。
Show(0.1 + 0.2, 0.1 + 0.2 == 0.3);
//0.1 + 0.2 = 0.3;
//0.1 + 0.2 == 0.3 = 0;
値を丸めるには、Round()、Floor()、または Ceiling() を使用できます。